Exemplo n.º 1
0
        public void TestCsprojToolsVersion()
        {
            var projFiles = TestUtils.GetDotNetSourceDir().GetFiles("*.csproj", SearchOption.AllDirectories)
                            .Where(x => !x.FullName.ToLower().Contains("dotnetcore")).ToArray();

            Assert.GreaterOrEqual(projFiles.Length, 7);
            CheckFiles(projFiles, x => !x.Contains("ToolsVersion=\"4.0\""), "Invalid csproj files: ");
        }
Exemplo n.º 2
0
 /// <summary>
 /// Gets the csproj files that go to the release binary package.
 /// </summary>
 private static IEnumerable <FileInfo> GetReleaseCsprojFiles()
 {
     return(TestUtils.GetDotNetSourceDir().GetFiles("*.csproj", SearchOption.AllDirectories)
            .Where(x => x.Name != "Apache.Ignite.csproj" &&
                   !x.Name.Contains("Test") &&
                   !x.Name.Contains("Example") &&
                   !x.Name.Contains("DotNetCore") &&
                   !x.Name.Contains("Benchmark")));
 }
Exemplo n.º 3
0
        public void TestSlnToolsVersion()
        {
            var slnFiles = TestUtils.GetDotNetSourceDir().GetFiles("*.sln", SearchOption.AllDirectories)
                           .Where(x => !x.Name.Contains("DotNetCore")).ToArray();

            Assert.GreaterOrEqual(slnFiles.Length, 2);
            CheckFiles(slnFiles, x => !x.Contains("# Visual Studio 2010") ||
                       !x.Contains("Microsoft Visual Studio Solution File, Format Version 11.00"),
                       "Invalid sln files: ");
        }
Exemplo n.º 4
0
        public void TestAllCsharpFilesAreIncludedInProject()
        {
            var projFiles = TestUtils.GetDotNetSourceDir().GetFiles("*.csproj", SearchOption.AllDirectories)
                            .Where(x =>
                                   !x.Name.Contains("DotNetCore") &&
                                   !x.Name.Contains("Benchmark") &&
                                   !x.FullName.Contains("templates") &&
                                   !x.FullName.Contains("examples"));

            var excludedFiles = new[]
            {
                "IgnitionStartTest.cs",
                "ShellTests.cs",
                "Common\\TestFixtureSetUp.cs",
                "Common\\TestFixtureTearDown.cs",
                "Client\\Cache\\CacheTestAsyncAwait.cs",
                "Cache\\CacheTestAsyncAwait.cs",
                "Compute\\ComputeTestAsyncAwait.cs"
            };

            Assert.Multiple(() =>
            {
                foreach (var projFile in projFiles)
                {
                    Assert.IsNotNull(projFile.Directory);

                    var projFileText = File.ReadAllText(projFile.FullName);
                    var csFiles      = projFile.Directory.GetFiles("*.cs", SearchOption.AllDirectories);

                    foreach (var csFile in csFiles)
                    {
                        // Csproj uses the same path separator on all platforms.
                        var csFileRelativePath = Path.GetRelativePath(projFile.Directory.FullName, csFile.FullName)
                                                 .Replace(Path.DirectorySeparatorChar, '\\');

                        if (csFileRelativePath.StartsWith("bin\\") ||
                            csFileRelativePath.StartsWith("obj\\") ||
                            csFileRelativePath.Contains("DotNetCore") ||
                            csFileRelativePath.Contains("Examples") ||
                            excludedFiles.Contains(csFileRelativePath))
                        {
                            continue;
                        }

                        Assert.IsTrue(
                            projFileText.Contains(csFileRelativePath),
                            string.Format("Project file '{0}' should contain file '{1}'", projFile.Name, csFile));
                    }
                }
            });
        }
Exemplo n.º 5
0
        public void TestAsciiChars()
        {
            var allowedFiles = new[]
            {
                "BinaryStringTest.cs",
                "BinarySelfTest.cs",
                "CacheDmlQueriesTest.cs",
                "CacheTest.cs"
            };

            var srcFiles = TestUtils.GetDotNetSourceDir()
                           .GetFiles("*.cs", SearchOption.AllDirectories)
                           .Where(x => !allowedFiles.Contains(x.Name));

            CheckFiles(srcFiles, x => x.Any(ch => ch > 255), "Files with non-ASCII chars: ");
        }
Exemplo n.º 6
0
        public void TestCsprojTargetFramework()
        {
            var projFiles = TestUtils.GetDotNetSourceDir()
                            .GetFiles("*.csproj", SearchOption.AllDirectories)
                            .Where(x => !x.FullName.ToLower().Contains("dotnetcore") &&
                                   !x.FullName.Contains("Benchmark") &&
                                   !x.FullName.Contains("templates") &&
                                   !x.FullName.Contains("examples"))
                            .ToArray();

            Assert.GreaterOrEqual(projFiles.Length, 7);
            CheckFiles(
                projFiles,
                x => !x.Contains("<TargetFramework>net461</TargetFramework>") && !x.Contains("<TargetFramework>netstandard2.0</TargetFramework>"),
                "Invalid csproj files: ");
        }
Exemplo n.º 7
0
        public void TestImplNamespaceHasNoPublicTypes()
        {
            var excluded = new[]
            {
                "ProjectFilesTest.cs",
                "CopyOnWriteConcurrentDictionary.cs",
                "IgniteArgumentCheck.cs",
                "DelegateConverter.cs",
                "IgniteHome.cs",
                "TypeCaster.cs",
                "FutureType.cs",
                "CollectionExtensions.cs",
                "IQueryEntityInternal.cs",
                "ICacheInternal.cs",
                "CacheEntry.cs",
                "HandleRegistry.cs",
                "BinaryObjectHeader.cs"
            };

            var csFiles = TestUtils.GetDotNetSourceDir().GetFiles("*.cs", SearchOption.AllDirectories);

            foreach (var csFile in csFiles)
            {
                if (excluded.Contains(csFile.Name))
                {
                    continue;
                }

                var text = File.ReadAllText(csFile.FullName);

                if (!text.Contains("namespace Apache.Ignite.Core.Impl"))
                {
                    continue;
                }

                StringAssert.DoesNotContain("public class", text, csFile.FullName);
                StringAssert.DoesNotContain("public static class", text, csFile.FullName);
                StringAssert.DoesNotContain("public interface", text, csFile.FullName);
                StringAssert.DoesNotContain("public enum", text, csFile.FullName);
                StringAssert.DoesNotContain("public struct", text, csFile.FullName);
            }
        }