Renamed tests.
Now it is required to specify test names in runner project.
Tests solution moved to tests directory.
Add ability to run debugger through custom pipe script.
Add script for running tests through sdb.
+++ /dev/null
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26124.0
-MinimumVisualStudioVersion = 15.0.26124.0
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{339D37EB-9697-4F56-926B-6083B37DD5D4}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "runner", "tests\runner\runner.csproj", "{B6F87D26-7803-4944-BB93-0AFFE1AE6376}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "simple_stepping", "tests\simple_stepping\simple_stepping.csproj", "{9A14D26B-6757-4554-884F-86A8330E047E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "values", "tests\values\values.csproj", "{88B59429-71FE-49D7-8219-7FEEC4B96D18}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Debug|x64.ActiveCfg = Debug|x64
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Debug|x64.Build.0 = Debug|x64
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Debug|x86.ActiveCfg = Debug|x86
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Debug|x86.Build.0 = Debug|x86
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Release|Any CPU.Build.0 = Release|Any CPU
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Release|x64.ActiveCfg = Release|x64
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Release|x64.Build.0 = Release|x64
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Release|x86.ActiveCfg = Release|x86
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376}.Release|x86.Build.0 = Release|x86
- {9A14D26B-6757-4554-884F-86A8330E047E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9A14D26B-6757-4554-884F-86A8330E047E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9A14D26B-6757-4554-884F-86A8330E047E}.Debug|x64.ActiveCfg = Debug|x64
- {9A14D26B-6757-4554-884F-86A8330E047E}.Debug|x64.Build.0 = Debug|x64
- {9A14D26B-6757-4554-884F-86A8330E047E}.Debug|x86.ActiveCfg = Debug|x86
- {9A14D26B-6757-4554-884F-86A8330E047E}.Debug|x86.Build.0 = Debug|x86
- {9A14D26B-6757-4554-884F-86A8330E047E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9A14D26B-6757-4554-884F-86A8330E047E}.Release|Any CPU.Build.0 = Release|Any CPU
- {9A14D26B-6757-4554-884F-86A8330E047E}.Release|x64.ActiveCfg = Release|x64
- {9A14D26B-6757-4554-884F-86A8330E047E}.Release|x64.Build.0 = Release|x64
- {9A14D26B-6757-4554-884F-86A8330E047E}.Release|x86.ActiveCfg = Release|x86
- {9A14D26B-6757-4554-884F-86A8330E047E}.Release|x86.Build.0 = Release|x86
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Debug|x64.ActiveCfg = Debug|x64
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Debug|x64.Build.0 = Debug|x64
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Debug|x86.ActiveCfg = Debug|x86
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Debug|x86.Build.0 = Debug|x86
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Release|Any CPU.Build.0 = Release|Any CPU
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Release|x64.ActiveCfg = Release|x64
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Release|x64.Build.0 = Release|x64
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Release|x86.ActiveCfg = Release|x86
- {88B59429-71FE-49D7-8219-7FEEC4B96D18}.Release|x86.Build.0 = Release|x86
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {B6F87D26-7803-4944-BB93-0AFFE1AE6376} = {339D37EB-9697-4F56-926B-6083B37DD5D4}
- {9A14D26B-6757-4554-884F-86A8330E047E} = {339D37EB-9697-4F56-926B-6083B37DD5D4}
- {88B59429-71FE-49D7-8219-7FEEC4B96D18} = {339D37EB-9697-4F56-926B-6083B37DD5D4}
- EndGlobalSection
-EndGlobal
--- /dev/null
+/*
+Send("1-file-exec-and-symbols dotnet");
+Send("2-exec-arguments " + TestBin);
+Send("3-exec-run");
+
+var r = Expect("*stopped");
+Assert.Equal(r.FindString("reason"), "entry-point-hit");
+Assert.Equal(r.Find("frame").FindInt("line"), Lines["START"]);
+
+Send("4-exec-step");
+r = Expect("*stopped");
+Assert.Equal(r.FindString("reason"), "end-stepping-range");
+Assert.Equal(r.Find("frame").FindInt("line"), Lines["STEP1"]);
+
+Send("5-exec-step");
+r = Expect("*stopped");
+Assert.Equal(r.FindString("reason"), "end-stepping-range");
+Assert.Equal(r.Find("frame").FindInt("line"), Lines["STEP2"]);
+
+Send("6-gdb-exit");
+*/
+
+using System;
+
+namespace simple_stepping
+{
+ class Program
+ {
+ static void Main(string[] args)
+ { // //@START@
+ Console.WriteLine("Hello World!"); // //@STEP1@
+ } // //@STEP2@
+ }
+}
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <OutputType>Exe</OutputType>
+ <TargetFramework>netcoreapp2.0</TargetFramework>
+ </PropertyGroup>
+
+</Project>
--- /dev/null
+/*
+using System;
+
+Send("1-file-exec-and-symbols dotnet");
+Send("2-exec-arguments " + TestBin);
+Send("3-exec-run");
+
+var r = Expect("*stopped");
+Assert.Equal("entry-point-hit", r.FindString("reason"));
+Assert.Equal(Lines["START"], r.Find("frame").FindInt("line"));
+
+Send(String.Format("4-break-insert -f {0}:{1}", TestSource, Lines["BREAK"]));
+Expect("4^done");
+
+Send("5-exec-continue");
+*/
+
+using System;
+
+namespace values
+{
+ class Program
+ {
+ static void Main(string[] args)
+ { // //@START@
+ decimal d = 12345678901234567890123456m;
+ int x = 1; // //@BREAK@
+ /*
+r = Expect("*stopped");
+Assert.Equal("breakpoint-hit", r.FindString("reason"));
+Assert.Equal(Lines["BREAK"], r.Find("frame").FindInt("line"));
+
+Send(String.Format("6-var-create - * \"{0}\"", "d"));
+r = Expect("6^done");
+Assert.Equal("12345678901234567890123456", r.FindString("value"));
+Assert.Equal("d", r.FindString("exp"));
+Assert.Equal("0", r.FindString("numchild"));
+Assert.Equal("decimal", r.FindString("type"));
+ */
+ }
+ }
+}
+/*
+Send("7-exec-continue");
+r = Expect("*stopped");
+Assert.Equal("exited", r.FindString("reason"));
+*/
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <OutputType>Exe</OutputType>
+ <TargetFramework>netcoreapp2.0</TargetFramework>
+ </PropertyGroup>
+
+</Project>
--- /dev/null
+#!/bin/sh
+
+# Before running this script:
+# 1. Enable root mode: sdb root on
+# 2. Remount system partition: sdb shell mount -o rw,remount /
+# 3. Install netcoredbg rpm: sdb push netcoredbg-*.rpm /tmp && sdb shell rpm -i --force /tmp/netcoredbg-*.rpm
+# 4. Create dotnet symlink: sdb shell ln -s /usr/share/dotnet/corerun /usr/bin/dotnet
+
+SDB=${SDB:=sdb}
+
+SCRIPTDIR=$(dirname $(readlink -f $0))
+
+# Upload all test dlls and pdbs
+find $SCRIPTDIR -name '*Test.runtimeconfig.json' | while read fname; do
+ base=$(echo $fname | rev | cut -f 3- -d '.' | rev)
+ $SDB push ${base}.dll ${base}.pdb /tmp
+ #$SDB shell chsmack -a '*' /tmp/$(basename ${base}.dll) /tmp/$(basename ${base}.pdb)
+done
+
+# Run tests
+
+DEBUGGER=/home/owner/share/tmp/sdk_tools/netcoredbg/netcoredbg
+
+TESTDIR=/tmp PIPE="(sleep 1; cat) | $SDB shell stty raw -echo\\;$DEBUGGER --interpreter=mi" dotnet test $SCRIPTDIR --logger "trx;LogFileName=$SCRIPTDIR/Results.trx"
using Xunit.Abstractions;
using System.Text.RegularExpressions;
-using System.Linq;
using System.Reflection;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.Scripting;
using Microsoft.CodeAnalysis.CSharp;
-using Microsoft.CodeAnalysis.CSharp.Syntax;
using System.Runtime.CompilerServices;
using Microsoft.CodeAnalysis.Scripting;
namespace Runner
{
- public class Labeled<T>
+ public class TestRunner
{
- public Labeled(T data, string label)
- {
- Data = data;
- Label = label;
- }
-
- public T Data { get; }
- public string Label { get; }
-
- public override string ToString()
- {
- return Label;
- }
- }
-
- public static class Labeledextensions
- {
- public static Labeled<T> Labeled<T>
- (this T source, string label)=>new Labeled<T>( source, label );
- }
-
- public partial class TestRunner
- {
- public static IEnumerable<object[]> Data()
- {
- object[] make
- (string binName,
- string srcName,
- string label)
- {
- return new object []
- { ( binName:binName
- , srcName:srcName
- )
- .Labeled(label)
- };
- }
- var data = new List<object[]>();
-
- // Sneaky way to get assembly path, which works even if call
- // current constructor with reflection
- string codeBase = Assembly.GetExecutingAssembly().CodeBase;
- UriBuilder uri = new UriBuilder(codeBase);
- string path = Uri.UnescapeDataString(uri.Path);
- var d = new DirectoryInfo(Path.GetDirectoryName(path));
-
- // Get path to runner binaries
- path = Path.Combine(d.Parent.Parent.Parent.Parent.FullName, "runner");
- var files = Directory.GetFiles(path, "*.dll", SearchOption.AllDirectories);
- var depsJson = new FileInfo(files[0].Substring(0, files[0].Length - 4) + ".deps.json");
- var runnerPath = depsJson.Directory.Parent.Parent.Parent.FullName;
-
- // Find all dlls
- var baseDir = d.Parent.Parent.Parent.Parent;
- files = Directory.GetFiles(baseDir.FullName, "*.dll", SearchOption.AllDirectories);
-
- foreach (var dll in files)
- {
- string testName = dll.Substring(0, dll.Length - 4);
- depsJson = new FileInfo(testName + ".deps.json");
- var dllDir = depsJson.Directory.Parent.Parent.Parent.FullName;
- // Do not use as test cases runner and launcher files
- if (depsJson.Exists &&
- !dllDir.Equals(runnerPath, StringComparison.CurrentCultureIgnoreCase))
- {
- var csFiles = Directory.GetFiles(depsJson.Directory.Parent.Parent.Parent.FullName, "*.cs");
- data.Add(make(dll, csFiles[0], testName.Split('/').Last()));
- }
- }
-
- return data;
- }
+ [Fact]
+ public void SimpleSteppingTest() => ExecuteTest();
+ [Fact]
+ public void ValuesTest() => ExecuteTest();
public class ProcessInfo
{
- public ProcessInfo(string binName, ITestOutputHelper output)
+ public ProcessInfo(string command, ITestOutputHelper output)
{
this.output = output;
process = new Process();
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.UseShellExecute = false;
- process.StartInfo.Arguments = "";
- process.StartInfo.FileName = binName;
+ process.StartInfo.Arguments = String.Format("-c \"{0}\"", command);
+ process.StartInfo.FileName = "/bin/sh";
// enable raising events because Process does not raise events by default
process.EnableRaisingEvents = true;
}
catch (System.ComponentModel.Win32Exception)
{
- throw new Exception("Unable to run process: " + binName);
+ throw new Exception("Unable to run: " + command);
}
process.BeginOutputReadLine();
return queue.ReceiveAsync().Result;
}
- public MICore.Results Expect(string text, int timeoutSec = 10)
+ public MICore.Results Expect(string text, int timeoutSec)
{
TimeSpan timeSpan = TimeSpan.FromSeconds(timeoutSec);
public int GetCurrentLine([CallerLineNumber] int line = 0) { return line; }
public void Send(string s) => processInfo.Send(s);
- public MICore.Results Expect(string s) => processInfo.Expect(s);
+ public MICore.Results Expect(string s, int timeoutSec = 10) => processInfo.Expect(s, timeoutSec);
public readonly string TestSource;
public readonly string TestBin;
public readonly ITestOutputHelper Output;
string key = match.Groups[1].ToString().Trim();
if (Tags.ContainsKey(key))
- throw new Exception(String.Format("Tag '{0}' presented more than once in file '{1}'", key, srcName));
+ throw new Exception(String.Format("Tag '{0}' is present more than once in file '{1}'", key, srcName));
Tags[key] = lineCounter;
}
public string Text { get => allComments.ToString(); }
}
+ class TestData
+ {
+ public TestData(string dllPath, string srcFilePath)
+ {
+ this.dllPath = dllPath;
+ this.srcFilePath = srcFilePath;
+ }
+ public string srcFilePath { get; }
+ public string dllPath { get; }
+
+ }
+
private readonly ITestOutputHelper output;
- private string debugger;
+ private string debuggerCommand;
+ private Dictionary<string, TestData> allTests;
public TestRunner(ITestOutputHelper output)
{
this.output = output;
string path = Uri.UnescapeDataString(uri.Path);
var d = new DirectoryInfo(Path.GetDirectoryName(path));
- // Get path to runner binaries
- this.debugger = Path.Combine(d.Parent.Parent.Parent.Parent.Parent.FullName, "bin", "netcoredbg");
+ var pipe = Environment.GetEnvironmentVariable("PIPE");
+ if (pipe != null)
+ {
+ this.debuggerCommand = pipe;
+ }
+ else
+ {
+ this.debuggerCommand = Path.Combine(d.Parent.Parent.Parent.Parent.Parent.FullName, "bin", "netcoredbg");
+ }
+
+ var testDir = Environment.GetEnvironmentVariable("TESTDIR");
+
+ // Find all dlls
+ var baseDir = d.Parent.Parent.Parent.Parent;
+ var files = Directory.GetFiles(baseDir.FullName, "*.dll", SearchOption.AllDirectories);
+
+ allTests = new Dictionary<string, TestData>();
+
+ foreach (var dll in files)
+ {
+ string testName = dll.Substring(0, dll.Length - 4);
+ var configName = new FileInfo(testName + ".runtimeconfig.json");
+ if (configName.Exists)
+ {
+ var csFiles = Directory.GetFiles(configName.Directory.Parent.Parent.Parent.FullName, "*.cs");
+
+ string testDll = testDir != null ? Path.Combine(testDir, Path.GetFileName(dll)) : dll;
+
+ allTests[Path.GetFileName(testName)] = new TestData(testDll, csFiles[0]);
+ }
+ }
}
- [Theory]
- [MemberData(nameof(Data))]
- public void ExecuteTest(Labeled<(string binName, string srcName)> t)
+ private void ExecuteTest([CallerMemberName] string name = null)
{
- var lines = CollectTags(t.Data.srcName);
+ var data = allTests[name];
+
+ var lines = CollectTags(data.srcFilePath);
- var tree = CSharpSyntaxTree.ParseText(File.ReadAllText(t.Data.srcName))
- .WithFilePath(t.Data.srcName);
+ var tree = CSharpSyntaxTree.ParseText(File.ReadAllText(data.srcFilePath))
+ .WithFilePath(data.srcFilePath);
var cc = new CommentCollector();
cc.Visit(tree.GetRoot());
);
script.Compile();
- ProcessInfo processInfo = new ProcessInfo(debugger, output);
+ ProcessInfo processInfo = new ProcessInfo(debuggerCommand, output);
// Globals, to use inside test case
TestCaseGlobals globals = new TestCaseGlobals(
processInfo,
lines,
- t.Data.srcName,
- t.Data.binName,
+ data.srcFilePath,
+ data.dllPath,
output
);
+++ /dev/null
-/*
-Send("1-file-exec-and-symbols dotnet");
-Send("2-exec-arguments " + TestBin);
-Send("3-exec-run");
-
-var r = Expect("*stopped");
-Assert.Equal(r.FindString("reason"), "entry-point-hit");
-Assert.Equal(r.Find("frame").FindInt("line"), Lines["START"]);
-
-Send("4-exec-step");
-r = Expect("*stopped");
-Assert.Equal(r.FindString("reason"), "end-stepping-range");
-Assert.Equal(r.Find("frame").FindInt("line"), Lines["STEP1"]);
-
-Send("5-exec-step");
-r = Expect("*stopped");
-Assert.Equal(r.FindString("reason"), "end-stepping-range");
-Assert.Equal(r.Find("frame").FindInt("line"), Lines["STEP2"]);
-
-Send("6-gdb-exit");
-*/
-
-using System;
-
-namespace simple_stepping
-{
- class Program
- {
- static void Main(string[] args)
- { // //@START@
- Console.WriteLine("Hello World!"); // //@STEP1@
- } // //@STEP2@
- }
-}
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <OutputType>Exe</OutputType>
- <TargetFramework>netcoreapp2.0</TargetFramework>
- </PropertyGroup>
-
-</Project>
--- /dev/null
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "runner", "runner\runner.csproj", "{E042BA1C-E2FB-41DF-AA94-9FACCF22D358}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ValuesTest", "ValuesTest\ValuesTest.csproj", "{7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleSteppingTest", "SimpleSteppingTest\SimpleSteppingTest.csproj", "{E0060C4B-2D50-4912-A2E6-29E897ED1767}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Debug|x64.ActiveCfg = Debug|x64
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Debug|x64.Build.0 = Debug|x64
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Debug|x86.ActiveCfg = Debug|x86
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Debug|x86.Build.0 = Debug|x86
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Release|x64.ActiveCfg = Release|x64
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Release|x64.Build.0 = Release|x64
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Release|x86.ActiveCfg = Release|x86
+ {E042BA1C-E2FB-41DF-AA94-9FACCF22D358}.Release|x86.Build.0 = Release|x86
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Debug|x64.ActiveCfg = Debug|x64
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Debug|x64.Build.0 = Debug|x64
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Debug|x86.ActiveCfg = Debug|x86
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Debug|x86.Build.0 = Debug|x86
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Release|x64.ActiveCfg = Release|x64
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Release|x64.Build.0 = Release|x64
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Release|x86.ActiveCfg = Release|x86
+ {7A4F31DE-22C7-4662-A6D4-63D1DCDD6D6E}.Release|x86.Build.0 = Release|x86
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Debug|x64.ActiveCfg = Debug|x64
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Debug|x64.Build.0 = Debug|x64
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Debug|x86.ActiveCfg = Debug|x86
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Debug|x86.Build.0 = Debug|x86
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Release|x64.ActiveCfg = Release|x64
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Release|x64.Build.0 = Release|x64
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Release|x86.ActiveCfg = Release|x86
+ {E0060C4B-2D50-4912-A2E6-29E897ED1767}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+EndGlobal
+++ /dev/null
-/*
-using System;
-
-Send("1-file-exec-and-symbols dotnet");
-Send("2-exec-arguments " + TestBin);
-Send("3-exec-run");
-
-var r = Expect("*stopped");
-Assert.Equal("entry-point-hit", r.FindString("reason"));
-Assert.Equal(Lines["START"], r.Find("frame").FindInt("line"));
-
-Send(String.Format("4-break-insert -f {0}:{1}", TestSource, Lines["BREAK"]));
-r = Expect("4^done");
-
-Send("5-exec-continue");
-*/
-
-using System;
-
-namespace values
-{
- class Program
- {
- static void Main(string[] args)
- { // //@START@
- decimal d = 12345678901234567890123456m;
- int x = 1; // //@BREAK@
- /*
-r = Expect("*stopped");
-Assert.Equal("breakpoint-hit", r.FindString("reason"));
-Assert.Equal(Lines["BREAK"], r.Find("frame").FindInt("line"));
-
-Send(String.Format("6-var-create - * \"{0}\"", "d"));
-r = Expect("6^done");
-Assert.Equal("12345678901234567890123456", r.FindString("value"));
-Assert.Equal("d", r.FindString("exp"));
-Assert.Equal("0", r.FindString("numchild"));
-Assert.Equal("decimal", r.FindString("type"));
- */
- }
- }
-}
-/*
-Send("7-exec-continue");
-r = Expect("*stopped");
-Assert.Equal("exited", r.FindString("reason"));
-*/
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <OutputType>Exe</OutputType>
- <TargetFramework>netcoreapp2.0</TargetFramework>
- </PropertyGroup>
-
-</Project>