diff --git a/.gitignore b/.gitignore index a4159815e..9815c1b47 100644 --- a/.gitignore +++ b/.gitignore @@ -20,9 +20,9 @@ packages/ __pycache__/ # Generated files -Src/IronPythonTest/TestResults/ -Src/IronPythonTest/runsettings.*.xml +tests/IronPython.Tests/TestResults/ +tests/IronPython.Tests/runsettings.*.xml # created by CPython tests -Src/StdLib/Lib/lib2to3/Grammar*.pickle -Src/StdLib/Lib/lib2to3/PatternGrammar*.pickle +src/core/IronPython.StdLib/lib/lib2to3/Grammar*.pickle +src/core/IronPython.StdLib/lib/lib2to3/PatternGrammar*.pickle diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 6e8567eb4..5f4312181 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -8,7 +8,7 @@ jobs: pool: vmImage: windows-latest steps: - - template: Build/steps.yml + - template: eng/steps.yml parameters: os: 'Windows' @@ -20,7 +20,7 @@ jobs: pool: vmImage: ubuntu-latest steps: - - template: Build/steps.yml + - template: eng/steps.yml parameters: os: 'Linux' @@ -32,6 +32,6 @@ jobs: pool: vmImage: macOS-latest steps: - - template: Build/steps.yml + - template: eng/steps.yml parameters: os: 'macOS' diff --git a/Build.proj b/Build.proj index 21c6967d6..c41df0925 100644 --- a/Build.proj +++ b/Build.proj @@ -9,10 +9,9 @@ $(MSBuildThisFileDirectory) $(RootDir)IronPython.sln - $(RootDir)Util - $(RootDir)Util\References + $(RootDir)eng\utils $(RootDir)bin - $(RootDir)Build + $(RootDir)eng @@ -40,7 +39,7 @@ - $(UtilDir)\NuGet\nuget.exe + $(UtilsDir)\NuGet\nuget.exe @@ -117,7 +116,7 @@ - @@ -138,5 +137,5 @@ - + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 03064d297..8d7e2bb80 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,9 +2,9 @@ The steps to contribute a change are: -1. Fork the IronPython3 repository. For more information see [Getting the Sources](Documentation/getting-the-sources.md). -2. Build the repository. For more information see [Building](Documentation/building.md). -1. Make your changes on your machine, ensure ```make.ps1 test-all``` runs successfully, and commit your changes. For more information see [Modifying the Sources](Documentation/modifying-the-sources.md). +1. Fork the IronPython3 repository. For more information see [Getting the Sources](docs/getting-the-sources.md). +2. Build the repository. For more information see [Building](docs/building.md). +1. Make your changes on your machine, ensure ```make.ps1 test-all``` runs successfully, and commit your changes. For more information see [Modifying the Sources](docs/modifying-the-sources.md). 1. Push the commits to your fork. This way your name will be the author of the commit in the main IronPython3 tree (once the commits are pulled into the main tree). 1. Create a pull request on Github, this will initiate a code review and CLA signing request 1. The IronPython team will review, and possibly request changes, to your PR diff --git a/Directory.Build.props b/Directory.Build.props index 709636925..2beab9202 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -5,8 +5,8 @@ $(MSBuildThisFileDirectory) - $(RootDir)Build - $(RootDir)Util\References + $(RootDir)eng + $(RootDir)eng\utils true diff --git a/IronPython.sln b/IronPython.sln index f7c936d83..f7d5719c9 100644 --- a/IronPython.sln +++ b/IronPython.sln @@ -3,17 +3,17 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.9.34714.143 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython", "Src\IronPython\IronPython.csproj", "{95289EA9-5778-489D-AB48-F81F2CE2DA32}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython", "src\core\IronPython\IronPython.csproj", "{95289EA9-5778-489D-AB48-F81F2CE2DA32}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Modules", "Src\IronPython.Modules\IronPython.Modules.csproj", "{155CE436-1669-4A48-8095-410F2430237F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Modules", "src\core\IronPython.Modules\IronPython.Modules.csproj", "{155CE436-1669-4A48-8095-410F2430237F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Wpf", "Src\IronPython.Wpf\IronPython.Wpf.csproj", "{65E997B7-E99B-4C83-B29E-9951429BB293}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.Wpf", "src\extensions\IronPython.Wpf\IronPython.Wpf.csproj", "{65E997B7-E99B-4C83-B29E-9951429BB293}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonConsole", "Src\IronPythonConsole\IronPythonConsole.csproj", "{811AC32C-11F3-4ED8-92A7-A7E39C2BB704}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonConsole", "src\executables\IronPython.Console\IronPythonConsole.csproj", "{811AC32C-11F3-4ED8-92A7-A7E39C2BB704}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonTest", "Src\IronPythonTest\IronPythonTest.csproj", "{B6B42537-07F8-4F6C-A99A-B155CAEB124E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonTest", "tests\IronPython.Tests\IronPythonTest.csproj", "{B6B42537-07F8-4F6C-A99A-B155CAEB124E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonWindow", "Src\IronPythonWindow\IronPythonWindow.csproj", "{81DA19C7-4FEC-47E7-981B-D9310D549F95}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonWindow", "src\executables\IronPython.Window\IronPythonWindow.csproj", "{81DA19C7-4FEC-47E7-981B-D9310D549F95}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3A14D070-628F-44EF-92DD-47C8BE5C33CD}" ProjectSection(SolutionItems) = preProject @@ -29,81 +29,81 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution README.md = README.md EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.SQLite", "Src\IronPython.SQLite\IronPython.SQLite.csproj", "{4A617A40-2BA7-4713-AAFE-F90C4325C581}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPython.SQLite", "src\extensions\IronPython.SQLite\IronPython.SQLite.csproj", "{4A617A40-2BA7-4713-AAFE-F90C4325C581}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{17737ACB-40C6-41A6-83DA-3203A4DCEC19}" ProjectSection(SolutionItems) = preProject - Build\After.targets = Build\After.targets - Build\net462.props = Build\net462.props - Build\net6.0-windows.props = Build\net6.0-windows.props - Build\net6.0.props = Build\net6.0.props - Build\net8.0-windows.props = Build\net8.0-windows.props - Build\net8.0.props = Build\net8.0.props - Build\net9.0-windows.props = Build\net9.0-windows.props - Build\net9.0.props = Build\net9.0.props - Build\netstandard2.0.props = Build\netstandard2.0.props - Build\steps.yml = Build\steps.yml - Build\Tasks.Targets = Build\Tasks.Targets + eng\After.targets = eng\After.targets + eng\net462.props = eng\net462.props + eng\net6.0-windows.props = eng\net6.0-windows.props + eng\net6.0.props = eng\net6.0.props + eng\net8.0-windows.props = eng\net8.0-windows.props + eng\net8.0.props = eng\net8.0.props + eng\net9.0-windows.props = eng\net9.0-windows.props + eng\net9.0.props = eng\net9.0.props + eng\netstandard2.0.props = eng\netstandard2.0.props + eng\steps.yml = eng\steps.yml + eng\Tasks.Targets = eng\Tasks.Targets EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonCompiler", "Src\IronPythonCompiler\IronPythonCompiler.csproj", "{3DFB096E-AC09-4E7A-9288-7F7C33C288C7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonCompiler", "src\executables\IronPython.Compiler\IronPythonCompiler.csproj", "{3DFB096E-AC09-4E7A-9288-7F7C33C288C7}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DLR", "DLR", "{AC38EFB1-820D-4E90-BF40-BEF3AC825542}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Dynamic", "Src\DLR\Src\Microsoft.Dynamic\Microsoft.Dynamic.csproj", "{EB66B766-6354-4208-A3D4-AACBDCB5C3B3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Dynamic", "src\dlr\Src\Microsoft.Dynamic\Microsoft.Dynamic.csproj", "{EB66B766-6354-4208-A3D4-AACBDCB5C3B3}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Scripting", "Src\DLR\Src\Microsoft.Scripting\Microsoft.Scripting.csproj", "{02FF0909-F5AD-48CF-A86A-345E721B7E40}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Scripting", "src\dlr\Src\Microsoft.Scripting\Microsoft.Scripting.csproj", "{02FF0909-F5AD-48CF-A86A-345E721B7E40}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Scripting.Metadata", "Src\DLR\Src\Microsoft.Scripting.Metadata\Microsoft.Scripting.Metadata.csproj", "{ACDD9B9E-8FE6-439C-9521-1CCBA47F6143}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Scripting.Metadata", "src\dlr\Src\Microsoft.Scripting.Metadata\Microsoft.Scripting.Metadata.csproj", "{ACDD9B9E-8FE6-439C-9521-1CCBA47F6143}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{60836ADE-CAB7-4587-B6FB-8C4FEB872752}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClrAssembly", "Src\DLR\Tests\ClrAssembly\ClrAssembly.csproj", "{BEE737B9-18D5-48D9-8672-9A896213C98B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClrAssembly", "src\dlr\Tests\ClrAssembly\ClrAssembly.csproj", "{BEE737B9-18D5-48D9-8672-9A896213C98B}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Package", "Package", "{CE610DDE-D1DB-44D8-BAE9-BAAB00DA98F0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{EE77D917-27F7-4E54-B72F-C8CEE4AEDCAA}" ProjectSection(SolutionItems) = preProject - Package\nuget\IronPython.nuspec = Package\nuget\IronPython.nuspec - Package\nuget\IronPython.StdLib.nuspec = Package\nuget\IronPython.StdLib.nuspec + eng\package\nuget\IronPython.nuspec = eng\package\nuget\IronPython.nuspec + eng\package\nuget\IronPython.StdLib.nuspec = eng\package\nuget\IronPython.StdLib.nuspec EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonConsole32", "Src\IronPythonConsole32\IronPythonConsole32.csproj", "{AD21022F-E7C1-4B74-97C1-0A0E48EFF992}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonConsole32", "src\executables\IronPython.Console32\IronPythonConsole32.csproj", "{AD21022F-E7C1-4B74-97C1-0A0E48EFF992}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonAnalyzer", "IronPythonAnalyzer\IronPythonAnalyzer\IronPythonAnalyzer.csproj", "{DA3415F3-6922-42D0-93D7-BEE2E8603A18}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonAnalyzer", "src\roslyn\IronPython.Analyzer\IronPythonAnalyzer.csproj", "{DA3415F3-6922-42D0-93D7-BEE2E8603A18}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "choco", "choco", "{EA550FD8-2241-4131-8292-619D009E0199}" ProjectSection(SolutionItems) = preProject - Package\choco\Choco.Packaging.targets = Package\choco\Choco.Packaging.targets - Package\choco\IronPython.nuspec = Package\choco\IronPython.nuspec + eng\package\choco\Choco.Packaging.targets = eng\package\choco\Choco.Packaging.targets + eng\package\choco\IronPython.nuspec = eng\package\choco\IronPython.nuspec EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "pkg", "pkg", "{01CE1AE6-CD7F-491B-8150-58CD738B20AC}" ProjectSection(SolutionItems) = preProject - Package\pkg\Pkg.Packaging.targets = Package\pkg\Pkg.Packaging.targets + eng\package\pkg\Pkg.Packaging.targets = eng\package\pkg\Pkg.Packaging.targets EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "deb", "deb", "{676093FF-CB44-4BD5-B83C-A28FE88D5017}" ProjectSection(SolutionItems) = preProject - Package\deb\Deb.Packaging.targets = Package\deb\Deb.Packaging.targets + eng\package\deb\Deb.Packaging.targets = eng\package\deb\Deb.Packaging.targets EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "zip", "zip", "{8FC07B92-D2AC-4921-9E97-A92A84D2B461}" ProjectSection(SolutionItems) = preProject - Package\zip\Zip.Packaging.targets = Package\zip\Zip.Packaging.targets + eng\package\zip\Zip.Packaging.targets = eng\package\zip\Zip.Packaging.targets EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "msi", "msi", "{450F93D5-DF02-4C04-960B-AE7E454668AA}" ProjectSection(SolutionItems) = preProject - Package\msi\Dlr.wxs = Package\msi\Dlr.wxs - Package\msi\IronPython.Installer.wixproj = Package\msi\IronPython.Installer.wixproj - Package\msi\IronPython.wxs = Package\msi\IronPython.wxs - Package\msi\Msi.Packaging.targets = Package\msi\Msi.Packaging.targets - Package\msi\Product.wxs = Package\msi\Product.wxs - Package\msi\Version.wxi = Package\msi\Version.wxi + eng\package\msi\Dlr.wxs = eng\package\msi\Dlr.wxs + eng\package\msi\IronPython.Installer.wixproj = eng\package\msi\IronPython.Installer.wixproj + eng\package\msi\IronPython.wxs = eng\package\msi\IronPython.wxs + eng\package\msi\Msi.Packaging.targets = eng\package\msi\Msi.Packaging.targets + eng\package\msi\Product.wxs = eng\package\msi\Product.wxs + eng\package\msi\Version.wxi = eng\package\msi\Version.wxi EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonWindow32", "Src\IronPythonWindow32\IronPythonWindow32.csproj", "{8F177DC2-9822-45BD-AB05-1F40FCA86168}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IronPythonWindow32", "src\executables\IronPython.Window32\IronPythonWindow32.csproj", "{8F177DC2-9822-45BD-AB05-1F40FCA86168}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/README.md b/README.md index 42d8e6881..292b07a44 100644 --- a/README.md +++ b/README.md @@ -71,19 +71,19 @@ See the following lists for features from each version of CPython that have been For details on contributing see the [Contributing](CONTRIBUTING.md) article. ## Upgrading from IronPython 2 -For details on upgrading from IronPython 2 to 3 see the [Upgrading from IronPython 2 to 3](Documentation/upgrading-from-ipy2.md) article. +For details on upgrading from IronPython 2 to 3 see the [Upgrading from IronPython 2 to 3](docs/upgrading-from-ipy2.md) article. ## Differences with CPython -While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](Documentation/differences-from-c-python.md) for details. +While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](docs/differences-from-c-python.md) for details. ## Package compatibility -See the [Package compatibility](Documentation/package-compatibility.md) document for information on compatibility with popular packages. +See the [Package compatibility](docs/package-compatibility.md) document for information on compatibility with popular packages. ## Installation -Binaries of IronPython 3 can be downloaded from the [release page](https://github.com/IronLanguages/ironpython3/releases/latest), available in various formats: `.msi`, `.zip`, `.deb`, `.pkg`. The IronPython package is also available on [NuGet](https://www.nuget.org/packages/IronPython/3.4.0). See the [installation document](Documentation/installing.md) for detailed instructions on how to install a standalone IronPython interpreter on various operating systems and .NET frameworks. +Binaries of IronPython 3 can be downloaded from the [release page](https://github.com/IronLanguages/ironpython3/releases/latest), available in various formats: `.msi`, `.zip`, `.deb`, `.pkg`. The IronPython package is also available on [NuGet](https://www.nuget.org/packages/IronPython/3.4.0). See the [installation document](docs/installing.md) for detailed instructions on how to install a standalone IronPython interpreter on various operating systems and .NET frameworks. ## Build -See the [building document](Documentation/building.md). Since the main development is on Windows, bugs on other platforms may inadvertently be introduced - please report them! +See the [building document](docs/building.md). Since the main development is on Windows, bugs on other platforms may inadvertently be introduced - please report them! ## Supported Platforms IronPython 3 targets .NET Framework 4.6.2, .NET Standard 2.0, .NET 6.0 and .NET 8.0. The support for .NET and .NET Core follow the lifecycle defined on [.NET and .NET Core Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core). diff --git a/docs/building.md b/docs/building.md index 3a8879a29..4e04fbd1b 100644 --- a/docs/building.md +++ b/docs/building.md @@ -45,6 +45,6 @@ If the build is successful the binaries are stored in `ironpython3/bin/{Configur ## Running -The standard library is not copied over to the `bin` folder during the build process, it lives in `Src/StdLib/Lib`. +The standard library is not copied over to the `bin` folder during the build process, it lives in `src/core/IronPython.StdLib/lib`. - When running the `Release` configuration executable, you should set the environment variable `IRONPYTHONPATH` to this folder. - When running the `Debug` configuration executable, this folder is automatically added to `sys.path`. diff --git a/docs/feature-symbols.md b/docs/feature-symbols.md index c179e1da1..23258312f 100644 --- a/docs/feature-symbols.md +++ b/docs/feature-symbols.md @@ -1,6 +1,6 @@ # Feature Symbols -Feature Symbols (named FEATURE_{feature name}, all caps) are compilation symbols defined for features whose availability vary across platforms that IronPython supports. The symbols are defined in Build/{framework}.props file, which get included by all .csproj files that contribute to IronPython. +Feature Symbols (named FEATURE_{feature name}, all caps) are compilation symbols defined for features whose availability vary across platforms that IronPython supports. The symbols are defined in eng/{framework}.props file, which get included by all .csproj files that contribute to IronPython. **The following list needs a major update** diff --git a/docs/installing.md b/docs/installing.md index 7371f20c5..7b978bc11 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -87,7 +87,7 @@ Use Powershell's `help` command on the script for information about available op The script is also available online, so it can be downloaded and invoked without unzipping the archive first. ``` -PS> Invoke-WebRequest https://raw.githubusercontent.com/IronLanguages/ironpython3/main/Src/Scripts/Install-IronPython.ps1 -OutFile ./Install-IronPython.ps1 +PS> Invoke-WebRequest https://raw.githubusercontent.com/IronLanguages/ironpython3/main/eng/scripts/Install-IronPython.ps1 -OutFile ./Install-IronPython.ps1 PS> ./Install-IronPython ~/ipyenv ~/Downloads/IronPython.3.X.Y.zip PS> ~/ipyenv/Enter-IronPythonEnvironment «ipyenv» PS> ipy @@ -158,7 +158,7 @@ Go to the project's [_Actions_ page](https://github.com/IronLanguages/ironpython # Installing from Sources -To build and install IronPython from sources, first follow instructions in [_Getting the Sources_](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/getting-the-sources.md) and [_Building IronPython3_](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/building.md). +To build and install IronPython from sources, first follow instructions in [_Getting the Sources_](https://github.com/IronLanguages/ironpython3/blob/main/docs/getting-the-sources.md) and [_Building IronPython3_](https://github.com/IronLanguages/ironpython3/blob/main/docs/building.md). When the command `./make.ps1 debug` completes successfully, runnable and usable `ipy` executables are available in subdirectories of `./bin/Debug`. To run executables from the release configuration (produced by a successful run of `./make.ps1`), first set environment variable `IRONPYTHONPATH`. @@ -170,10 +170,10 @@ If those executables test out successfully, the binaries can be installed outsid The artifacts are placed in directory `./Package/Release/Packages/IronPython-3.X.Y`. Pick a package suitable for your installation target and follow instructions above for the officially released packages. -Note: as a convenience, if you run `Install-IronPython.ps1` directly from directory `./Src/Scripts` to install IronPython from the zip file, there is no need to pass the location to the zip file; the script finds it automatically using the relative path. +Note: as a convenience, if you run `Install-IronPython.ps1` directly from directory `./eng/scripts` to install IronPython from the zip file, there is no need to pass the location to the zip file; the script finds it automatically using the relative path. Installation example: ``` -./Src/Scripts/Install-IronPython.ps1 /path/to/install/directory -framework net462 +./eng/scripts/Install-IronPython.ps1 /path/to/install/directory -framework net462 ``` diff --git a/docs/modifying-the-sources.md b/docs/modifying-the-sources.md index 7016f075d..895587d2a 100644 --- a/docs/modifying-the-sources.md +++ b/docs/modifying-the-sources.md @@ -1,6 +1,6 @@ # TDD -Bug fixes should be accompanied by a test that shows that the bug has been fixed. If the bug fix is fixing something that is covered by a test in the C Python test suite (Src\StdLib\Lib\test) and that test is not currently enabled, try enabling the test in Src\IronPythonTest\Cases\*.ini depending on the type of test it is. +Bug fixes should be accompanied by a test that shows that the bug has been fixed. If the bug fix is fixing something that is covered by a test in the C Python test suite (`src/core/IronPython.StdLib/lib/test`) and that test is not currently enabled, try enabling the test in `tests\IronPython.Tests\Cases\*.ini` depending on the type of test it is. Most PR's will not be accepted if there is not a test included. diff --git a/eng/package/choco/Choco.Packaging.targets b/eng/package/choco/Choco.Packaging.targets index 6aa617ce3..c6c100013 100644 --- a/eng/package/choco/Choco.Packaging.targets +++ b/eng/package/choco/Choco.Packaging.targets @@ -6,7 +6,7 @@ 0.10.8 - + diff --git a/eng/package/choco/README.md b/eng/package/choco/README.md index fbd5d23a1..a7d3adba0 100644 --- a/eng/package/choco/README.md +++ b/eng/package/choco/README.md @@ -9,7 +9,7 @@ The current target is Python 3.4, although features and behaviors from later ver ## Differences with CPython -While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/differences-from-c-python.md) for details. +While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](https://github.com/IronLanguages/ironpython3/blob/main/docs/differences-from-c-python.md) for details. ## Package compatibility -See the [Package compatibility](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/package-compatibility.md) document for information on compatibility with popular Python packages. +See the [Package compatibility](https://github.com/IronLanguages/ironpython3/blob/main/docs/package-compatibility.md) document for information on compatibility with popular Python packages. diff --git a/eng/package/deb/Deb.Packaging.targets b/eng/package/deb/Deb.Packaging.targets index 184aadb9b..0650d246d 100644 --- a/eng/package/deb/Deb.Packaging.targets +++ b/eng/package/deb/Deb.Packaging.targets @@ -3,7 +3,7 @@ temp - Package/deb + eng/package/deb $(PackageDebFolder)/$(TempFolder) diff --git a/eng/package/dotnettool/IronPython.Console.csproj b/eng/package/dotnettool/IronPython.Console.csproj index 068b735ff..8fcbc13dc 100644 --- a/eng/package/dotnettool/IronPython.Console.csproj +++ b/eng/package/dotnettool/IronPython.Console.csproj @@ -55,7 +55,7 @@ This package contains a standalone Python interpreter, invokable from the comman - + diff --git a/eng/package/dotnettool/README.md b/eng/package/dotnettool/README.md index f6e7118d2..690f64324 100644 --- a/eng/package/dotnettool/README.md +++ b/eng/package/dotnettool/README.md @@ -9,8 +9,8 @@ The current target is Python 3.4, although features and behaviors from later ver ## Differences with CPython -While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/differences-from-c-python.md) for details. +While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](https://github.com/IronLanguages/ironpython3/blob/main/docs/differences-from-c-python.md) for details. ## Package compatibility -See the [Package compatibility](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/package-compatibility.md) document for information on compatibility with popular Python packages. +See the [Package compatibility](https://github.com/IronLanguages/ironpython3/blob/main/docs/package-compatibility.md) document for information on compatibility with popular Python packages. diff --git a/eng/package/msi/Msi.Packaging.targets b/eng/package/msi/Msi.Packaging.targets index 87cfe329c..bfc8ee807 100644 --- a/eng/package/msi/Msi.Packaging.targets +++ b/eng/package/msi/Msi.Packaging.targets @@ -1,9 +1,9 @@ - + diff --git a/eng/package/msi/Product.wxs b/eng/package/msi/Product.wxs index 243f17fd6..7570878cf 100644 --- a/eng/package/msi/Product.wxs +++ b/eng/package/msi/Product.wxs @@ -19,7 +19,7 @@ WHEN PERFORMING MAJOR IP UPGRADES (e.g., 2.5 => 2.6): - + diff --git a/eng/package/nuget/IronPython.StdLib.nuspec b/eng/package/nuget/IronPython.StdLib.nuspec index f62df7e74..b3b8ce2c3 100644 --- a/eng/package/nuget/IronPython.StdLib.nuspec +++ b/eng/package/nuget/IronPython.StdLib.nuspec @@ -24,6 +24,6 @@ - + diff --git a/eng/package/nuget/IronPython.nuspec b/eng/package/nuget/IronPython.nuspec index 491d14977..1c3b0e0cd 100644 --- a/eng/package/nuget/IronPython.nuspec +++ b/eng/package/nuget/IronPython.nuspec @@ -40,7 +40,7 @@ This package contains the IronPython interpreter engine. - - + + diff --git a/eng/package/nuget/NuGet.Packaging.targets b/eng/package/nuget/NuGet.Packaging.targets index c0afa28a4..9234c8ab6 100644 --- a/eng/package/nuget/NuGet.Packaging.targets +++ b/eng/package/nuget/NuGet.Packaging.targets @@ -2,11 +2,11 @@ - $(RootDir)Package\nuget + $(MSBuildThisFileDirectory) - $(RootDir)Package\nuget + $(MSBuildThisFileDirectory) IncludeSymbols=false diff --git a/eng/package/nuget/README.md b/eng/package/nuget/README.md index 0365dcb75..afcc1f187 100644 --- a/eng/package/nuget/README.md +++ b/eng/package/nuget/README.md @@ -22,8 +22,8 @@ System.Console.WriteLine(greetings("world")); ## Differences with CPython -While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/differences-from-c-python.md) for details. +While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](https://github.com/IronLanguages/ironpython3/blob/main/docs/differences-from-c-python.md) for details. ## Package compatibility -See the [Package compatibility](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/package-compatibility.md) document for information on compatibility with popular Python packages. Note that to run most packages, IronPython Standard Library must be present. +See the [Package compatibility](https://github.com/IronLanguages/ironpython3/blob/main/docs/package-compatibility.md) document for information on compatibility with popular Python packages. Note that to run most packages, IronPython Standard Library must be present. diff --git a/eng/package/pkg/Pkg.Packaging.targets b/eng/package/pkg/Pkg.Packaging.targets index ff8bee9a3..b577584cf 100644 --- a/eng/package/pkg/Pkg.Packaging.targets +++ b/eng/package/pkg/Pkg.Packaging.targets @@ -5,7 +5,7 @@ temp - Package/pkg + eng/package/pkg $(PackageDebFolder)/$(TempFolder) $(PackageTempFolder)/Library/Frameworks/IronPython.framework/Versions/$(PackageVersion) diff --git a/eng/package/zip/README.md b/eng/package/zip/README.md index a39ca5ec6..e245c0305 100644 --- a/eng/package/zip/README.md +++ b/eng/package/zip/README.md @@ -50,8 +50,8 @@ System.Console.WriteLine(greetings("world")); ## Differences with CPython -While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/differences-from-c-python.md) for details. +While compatibility with CPython is one of our main goals with IronPython 3, there are still some differences that may cause issues. See [Differences from CPython](https://github.com/IronLanguages/ironpython3/blob/main/docs/differences-from-c-python.md) for details. ## Package compatibility -See the [Package compatibility](https://github.com/IronLanguages/ironpython3/blob/main/Documentation/package-compatibility.md) document for information on compatibility with popular packages. Note that to run most packages, IronPython Standard Library must be present. +See the [Package compatibility](https://github.com/IronLanguages/ironpython3/blob/main/docs/package-compatibility.md) document for information on compatibility with popular packages. Note that to run most packages, IronPython Standard Library must be present. diff --git a/eng/package/zip/Zip.Packaging.targets b/eng/package/zip/Zip.Packaging.targets index cb5db9c81..ce29d0fb7 100644 --- a/eng/package/zip/Zip.Packaging.targets +++ b/eng/package/zip/Zip.Packaging.targets @@ -6,8 +6,8 @@ - - + + diff --git a/eng/scripts/Install-IronPython.ps1 b/eng/scripts/Install-IronPython.ps1 index b549450be..c231142ec 100755 --- a/eng/scripts/Install-IronPython.ps1 +++ b/eng/scripts/Install-IronPython.ps1 @@ -30,7 +30,7 @@ PS>./make PS>./make package - PS>./Src/Scripts/Install-IronPython.ps1 env + PS>./eng/scripts/Install-IronPython.ps1 env These commands should be issued on a Powershell prompt with the current directory set to the project root. The project is first built, then packaged, and finally the script uses the zipfile produced during packaging to install IronPython in directory "env". @@ -60,7 +60,7 @@ if (-not $ZipFile) { if ($splitPSScriptRoot[-1] -eq "scripts" -and (Test-Path (Join-Path (Split-Path $PSScriptRoot) "lib"))) { # Script run from within already expanded zip file $unzipDir = $PSScriptRoot | Split-Path - } elseif ($splitPSScriptRoot[-2] -eq "Src" -and $splitPSScriptRoot[-1] -eq "Scripts") { + } elseif ($splitPSScriptRoot[-2] -eq "eng" -and $splitPSScriptRoot[-1] -eq "scripts") { # Script run from within a checked out code base # Locate the zip archive in the standard location of the package target $projectRoot = $PSScriptRoot | Split-Path | Split-Path diff --git a/eng/scripts/generate.py b/eng/scripts/generate.py index 6b7ac5b2f..7c819a378 100755 --- a/eng/scripts/generate.py +++ b/eng/scripts/generate.py @@ -15,13 +15,13 @@ def get_root_dir(): root_dir = get_root_dir() source_directories = [ - os.path.join(root_dir, "Src"), - os.path.join(root_dir, "Src", "DLR", "Src"), + os.path.join(root_dir, "src"), + os.path.join(root_dir, "src", "dlr", "Src"), ] exclude_directories = [ - os.path.join(root_dir, "Src", "DLR"), - os.path.join(root_dir, "Src", "StdLib"), + os.path.join(root_dir, "src", "dlr"), + os.path.join(root_dir, "src", "core", "IronPython.StdLib"), ] START_COMMON = "#region Generated" diff --git a/eng/scripts/generate_exception_factory.py b/eng/scripts/generate_exception_factory.py index ec1e4e4f8..8775f748c 100644 --- a/eng/scripts/generate_exception_factory.py +++ b/eng/scripts/generate_exception_factory.py @@ -172,7 +172,7 @@ def gen_expr_factory_com(cw): gen_expr_factory(cw, generate.root_dir + "\\..\\..\\ndp\\fx\\src\\Dynamic\\System\\Dynamic\\System.Dynamic.txt") def gen_expr_factory_scripting(cw): - gen_expr_factory(cw, generate.root_dir + "\\Src\\DLR\\Src\\Microsoft.Dynamic\\Microsoft.Scripting.txt") + gen_expr_factory(cw, generate.root_dir + "\\src\\dlr\\Src\\Microsoft.Dynamic\\Microsoft.Scripting.txt") def main(): return generate.generate( diff --git a/make.ps1 b/make.ps1 index e4575bee7..0733bdc67 100755 --- a/make.ps1 +++ b/make.ps1 @@ -43,7 +43,7 @@ function EnsureMSBuild() { function Main([String] $target, [String] $configuration) { # verify that the DLR submodule has been initialized - if(![System.Linq.Enumerable]::Any([System.IO.Directory]::EnumerateFileSystemEntries([System.IO.Path]::Combine($_BASEDIR, "Src/DLR")))) { + if(![System.Linq.Enumerable]::Any([System.IO.Directory]::EnumerateFileSystemEntries([System.IO.Path]::Combine($_BASEDIR, "src/dlr")))) { if(Get-Command git -ErrorAction SilentlyContinue) { & git submodule update --init } else { @@ -106,7 +106,7 @@ function GenerateRunSettings([String] $framework, [String] $platform, [String] $ $doc.AppendChild($runSettings) | Out-Null - $fileName = [System.IO.Path]::Combine($_BASEDIR, "Src", "IronPythonTest", "runsettings.$framework.xml") + $fileName = [System.IO.Path]::Combine($_BASEDIR, "tests", "IronPython.Tests", "runsettings.$framework.xml") $doc.Save($fileName) return $fileName } @@ -182,7 +182,7 @@ function Test([String] $target, [String] $configuration, [String[]] $frameworks, $runSettings = GenerateRunSettings $framework $platform $configuration $runIgnored function createTask($filtername, $filter) { - [Object[]] $args = @("$_BASEDIR/Src/IronPythonTest/IronPythonTest.csproj", '-f', "$framework", '-o', "$_BASEDIR/bin/$configuration/$framework", '-c', "$configuration", '--no-build', '-v', 'n', '-l', "trx;LogFileName=$filtername-$framework-$configuration-result.trx", '-s', "$runSettings", "--filter=$filter"); + [Object[]] $args = @("$_BASEDIR/tests/IronPython.Tests/IronPythonTest.csproj", '-f', "$framework", '-o', "$_BASEDIR/bin/$configuration/$framework", '-c', "$configuration", '--no-build', '-v', 'n', '-l', "trx;LogFileName=$filtername-$framework-$configuration-result.trx", '-s', "$runSettings", "--filter=$filter"); Write-Host "Enqueue [$framework $filtername]:" Write-Host "dotnet test $args" Write-Host @@ -222,7 +222,7 @@ function Purge() { Get-ChildItem -Name "obj" -Directory -Path "$_BASEDIR" -Recurse | Remove-Item -Force -Recurse Write-Verbose "Deleting ""bin"" directories..." - foreach ($dir in @("", (Join-Path "IronPythonAnalyzer" "IronPythonAnalyzer"))) { + foreach ($dir in @("", (Join-Path "src" "roslyn" "IronPython.Analyzer"))) { if (Test-Path (Join-Path $_BASEDIR $dir "bin" -OutVariable targetPath)) { Remove-Item -Path $targetPath -Force -Recurse } @@ -239,7 +239,7 @@ function Purge() { } Write-Verbose "Deleting test run settings..." - Remove-Item -Path (Join-Path $_BASEDIR "Src" "IronPythonTest" "runsettings.*.xml") + Remove-Item -Path (Join-Path $_BASEDIR "tests" "IronPython.Tests" "runsettings.*.xml") Write-Information "Done. Consider restoring dependencies." -InformationAction Continue } diff --git a/src/core/IronPython.Modules/IronPython.Modules.csproj b/src/core/IronPython.Modules/IronPython.Modules.csproj index 4fc2771d2..b551be3f7 100644 --- a/src/core/IronPython.Modules/IronPython.Modules.csproj +++ b/src/core/IronPython.Modules/IronPython.Modules.csproj @@ -10,7 +10,7 @@ True - ..\..\Util\References\Mono.Posix.dll + $(UtilsDir)\References\Mono.Posix.dll @@ -26,7 +26,7 @@ - + false Analyzer diff --git a/src/core/IronPython.Modules/_ctypes_test.cs b/src/core/IronPython.Modules/_ctypes_test.cs index 3ab176d33..7acf17617 100644 --- a/src/core/IronPython.Modules/_ctypes_test.cs +++ b/src/core/IronPython.Modules/_ctypes_test.cs @@ -14,11 +14,11 @@ namespace IronPython.Modules { public static class CTypesTest { private static string FindRoot() { - // we start at the current directory and look up until we find the "Src" directory + // we start at the current directory and look up until we find the "src" directory var current = System.Reflection.Assembly.GetExecutingAssembly().Location; var found = false; while (!found && !string.IsNullOrEmpty(current)) { - var test = Path.Combine(current, "Src", "StdLib", "Lib"); + var test = Path.Combine(current, "src", "core", "IronPython.StdLib", "lib"); if (Directory.Exists(test)) { return current; } @@ -28,7 +28,7 @@ private static string FindRoot() { return string.Empty; } - public static string __file__ = Path.Combine(FindRoot(), "Tests", string.Format("_ctypes_test_{0}{1}.pyd", Environment.OSVersion.Platform == PlatformID.Win32NT ? "win" : Environment.OSVersion.Platform == PlatformID.MacOSX ? "macOS" : "linux", Environment.Is64BitProcess ? 64 : 32)); + public static string __file__ = Path.Combine(FindRoot(), "tests", "suite", string.Format("_ctypes_test_{0}{1}.pyd", Environment.OSVersion.Platform == PlatformID.Win32NT ? "win" : Environment.OSVersion.Platform == PlatformID.MacOSX ? "macOS" : "linux", Environment.Is64BitProcess ? 64 : 32)); } } diff --git a/src/core/IronPython.StdLib/StdLib.pyproj b/src/core/IronPython.StdLib/StdLib.pyproj index da4316dbc..c4f05252e 100644 --- a/src/core/IronPython.StdLib/StdLib.pyproj +++ b/src/core/IronPython.StdLib/StdLib.pyproj @@ -9,7 +9,7 @@ PyStdLib PyStdLib PyStdLib - Lib + lib lib diff --git a/src/core/IronPython.StdLib/stdlib-upgrade.txt b/src/core/IronPython.StdLib/stdlib-upgrade.txt index 6bc4eb7e6..95b8567b8 100644 --- a/src/core/IronPython.StdLib/stdlib-upgrade.txt +++ b/src/core/IronPython.StdLib/stdlib-upgrade.txt @@ -5,7 +5,7 @@ Process for upgrading the stdlib to a new cpython version 0. Update a CPython checkout to latest. 1. git checkout python-stdlib -2. ./Src/StdLib/upgrade-stdlib.sh ~/path/to/cpython +2. ./src/core/IronPython.StdLib/upgrade-stdlib.sh ~/path/to/cpython 3. git checkout -b update-stdlib master 4. git merge --no-ff python-stdlib 5. Fix conflicts, etc. diff --git a/src/core/IronPython/IronPython.csproj b/src/core/IronPython/IronPython.csproj index 41e1bb9eb..c5db5c198 100644 --- a/src/core/IronPython/IronPython.csproj +++ b/src/core/IronPython/IronPython.csproj @@ -8,7 +8,7 @@ - + @@ -23,7 +23,7 @@ True - ..\..\Util\References\Mono.Posix.dll + $(UtilsDir)\References\Mono.Posix.dll @@ -38,7 +38,7 @@ PreserveNewest - + PreserveNewest @@ -46,7 +46,7 @@ - + @@ -58,7 +58,7 @@ - + false Analyzer diff --git a/src/core/IronPython/Lib/iptest/ipunittest.py b/src/core/IronPython/Lib/iptest/ipunittest.py index 91c4cddb9..b92e8195c 100644 --- a/src/core/IronPython/Lib/iptest/ipunittest.py +++ b/src/core/IronPython/Lib/iptest/ipunittest.py @@ -85,7 +85,7 @@ def t(*args, **kwargs): return t def _find_root(): - test_dirs = ['Src', 'Build', 'Package', 'Tests', 'Util'] + test_dirs = ['src', 'eng', 'tests'] root = os.getcwd() test = all([os.path.exists(os.path.join(root, x)) for x in test_dirs]) while not test: @@ -128,8 +128,8 @@ def setUp(self): self.ensure_directory_present(self._temporary_dir) self._iron_python_test_dll = _iron_python_test_dll - self._test_dir = os.path.join(_root, 'Tests') - self._test_inputs_dir = os.path.join(_root, 'Tests', 'Inputs') + self._test_dir = os.path.join(_root, 'tests', 'suite') + self._test_inputs_dir = os.path.join(_root, 'tests', 'suite', 'Inputs') def add_reference_to_dlr_core(self): _add_reference_to_dlr_core() @@ -241,9 +241,9 @@ def generate_suite(tests, failing_tests, skip_tests=[]): # ip_root = path_combine(rowan_root, basePyDir) # external_dir = path_combine(rowan_root, 'External.LCA_RESTRICTED/Languages/IronPython') # clean_external_dir = path_combine(rowan_root, 'External.LCA_RESTRICTED/Languages/CPython/27') -# public_testdir = path_combine(ip_root, 'Tests') -# compat_testdir = path_combine(ip_root, 'Tests/compat') -# test_inputs_dir = path_combine(ip_root, 'Tests/Inputs') +# public_testdir = path_combine(ip_root, 'tests/suite') +# compat_testdir = path_combine(ip_root, 'tests/suite/compat') +# test_inputs_dir = path_combine(ip_root, 'tests/suite/Inputs') # script_testdir = path_combine(ip_root, 'Scripts') # math_testdir = path_combine(external_dir, 'Math') diff --git a/src/core/IronPython/Runtime/PythonContext.cs b/src/core/IronPython/Runtime/PythonContext.cs index 751ac78dd..23090b46e 100644 --- a/src/core/IronPython/Runtime/PythonContext.cs +++ b/src/core/IronPython/Runtime/PythonContext.cs @@ -230,8 +230,8 @@ public PythonContext(ScriptDomainManager/*!*/ manager, IDictionary - + - + - ..\..\Util\References\IKVM\IKVM.Reflection.dll + $(UtilsDir)\References\IKVM\IKVM.Reflection.dll diff --git a/src/executables/IronPython.Console/IronPythonConsole.csproj b/src/executables/IronPython.Console/IronPythonConsole.csproj index a66fcd7a3..10a5dcc52 100644 --- a/src/executables/IronPython.Console/IronPythonConsole.csproj +++ b/src/executables/IronPython.Console/IronPythonConsole.csproj @@ -12,8 +12,8 @@ - - + + false Content PreserveNewest diff --git a/src/executables/IronPython.Console32/IronPythonConsole32.csproj b/src/executables/IronPython.Console32/IronPythonConsole32.csproj index ec88a8b4c..34c727c57 100644 --- a/src/executables/IronPython.Console32/IronPythonConsole32.csproj +++ b/src/executables/IronPython.Console32/IronPythonConsole32.csproj @@ -6,20 +6,20 @@ Exe IronPythonConsole ipy32 - ..\IronPythonConsole\ipy.ico + ..\IronPython.Console\ipy.ico true - - + + false - - + + diff --git a/src/executables/IronPython.Window/IronPythonWindow.csproj b/src/executables/IronPython.Window/IronPythonWindow.csproj index 536086341..0e7966081 100644 --- a/src/executables/IronPython.Window/IronPythonWindow.csproj +++ b/src/executables/IronPython.Window/IronPythonWindow.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/executables/IronPython.Window32/IronPythonWindow32.csproj b/src/executables/IronPython.Window32/IronPythonWindow32.csproj index 0ed23ee55..aba42d512 100644 --- a/src/executables/IronPython.Window32/IronPythonWindow32.csproj +++ b/src/executables/IronPython.Window32/IronPythonWindow32.csproj @@ -6,12 +6,12 @@ WinExe IronPythonWindow ipyw32 - ..\IronPythonWindow\ipyw.ico + ..\IronPython.Window\ipyw.ico true - + @@ -19,8 +19,8 @@ - - + + diff --git a/src/extensions/IronPython.SQLite/IronPython.SQLite.csproj b/src/extensions/IronPython.SQLite/IronPython.SQLite.csproj index 60466e71a..063140db6 100644 --- a/src/extensions/IronPython.SQLite/IronPython.SQLite.csproj +++ b/src/extensions/IronPython.SQLite/IronPython.SQLite.csproj @@ -24,9 +24,9 @@ - - - + + + diff --git a/src/extensions/IronPython.Wpf/IronPython.Wpf.csproj b/src/extensions/IronPython.Wpf/IronPython.Wpf.csproj index 97f2aebb6..53618a818 100644 --- a/src/extensions/IronPython.Wpf/IronPython.Wpf.csproj +++ b/src/extensions/IronPython.Wpf/IronPython.Wpf.csproj @@ -13,9 +13,9 @@ - - - + + + diff --git a/tests/IronPython.Tests/Cases/CPythonCases.cs b/tests/IronPython.Tests/Cases/CPythonCases.cs index f3d568064..a863c2549 100644 --- a/tests/IronPython.Tests/Cases/CPythonCases.cs +++ b/tests/IronPython.Tests/Cases/CPythonCases.cs @@ -18,7 +18,7 @@ public override int Test(TestInfo testcase) { internal class CPythonCaseGenerator : CommonCaseGenerator { protected override IEnumerable GetTests() { - var libFolder = Path.Combine("Src", "StdLib", "Lib"); + var libFolder = Path.Combine("src", "core", "IronPython.StdLib", "lib"); return GetFilenames(new [] { System.Tuple.Create(category, Path.Combine(libFolder, "test")), System.Tuple.Create($"{category}.ctypes", Path.Combine(libFolder, "ctypes", "test")), diff --git a/tests/IronPython.Tests/Cases/CaseExecuter.cs b/tests/IronPython.Tests/Cases/CaseExecuter.cs index d75cbc047..fcc0fe934 100644 --- a/tests/IronPython.Tests/Cases/CaseExecuter.cs +++ b/tests/IronPython.Tests/Cases/CaseExecuter.cs @@ -65,11 +65,11 @@ public static ScriptEngine CreateEngine(TestOptions options) { } internal static string FindRoot() { - // we start at the current directory and look up until we find the "Src" directory + // we start at the current directory and look up until we find the "src" directory var current = System.Reflection.Assembly.GetExecutingAssembly().Location; var found = false; while (!found && !string.IsNullOrEmpty(current)) { - var test = Path.Combine(current, "Src", "StdLib", "Lib"); + var test = Path.Combine(current, "src", "core", "IronPython.StdLib", "lib"); if (Directory.Exists(test)) { return current; } @@ -84,7 +84,7 @@ private static void AddSearchPaths(ScriptEngine engine) { if (!paths.Any(x => x.Contains("stdlib", StringComparison.OrdinalIgnoreCase))) { var root = FindRoot(); if (!string.IsNullOrEmpty(root)) { - paths.Insert(0, Path.Combine(root, "Src", "StdLib", "Lib")); + paths.Insert(0, Path.Combine(root, "src", "core", "IronPython.StdLib", "lib")); } } engine.SetSearchPaths(paths); @@ -140,7 +140,7 @@ public string FormatException(Exception ex) { } private static string GetIronPythonPath() { - var path = Path.Combine(FindRoot(), "Src", "StdLib", "Lib"); + var path = Path.Combine(FindRoot(), "src", "core", "IronPython.StdLib", "lib"); if (Directory.Exists(path)) { return path; } diff --git a/tests/IronPython.Tests/Cases/IronPythonCases.cs b/tests/IronPython.Tests/Cases/IronPythonCases.cs index 2cd431625..85d3c1f8b 100644 --- a/tests/IronPython.Tests/Cases/IronPythonCases.cs +++ b/tests/IronPython.Tests/Cases/IronPythonCases.cs @@ -19,8 +19,8 @@ public override int Test(TestInfo testcase) { internal class IronPythonCaseGenerator : CommonCaseGenerator { protected override IEnumerable GetTests() { return GetFilenames(new[] { - System.Tuple.Create(category, "Tests"), - System.Tuple.Create($"{category}.scripts", Path.Combine("Src", "Scripts")), + System.Tuple.Create(category, Path.Combine("tests", "suite")), + System.Tuple.Create($"{category}.scripts", Path.Combine("eng", "scripts")), }) .OrderBy(testcase => testcase.Name); diff --git a/tests/IronPython.Tests/EngineTest.cs b/tests/IronPython.Tests/EngineTest.cs index f6cd8b21f..67fe9d3d6 100644 --- a/tests/IronPython.Tests/EngineTest.cs +++ b/tests/IronPython.Tests/EngineTest.cs @@ -53,16 +53,16 @@ internal class Common { static Common() { RuntimeDirectory = Path.GetDirectoryName(typeof(PythonContext).Assembly.Location); RootDirectory = FindRoot(); - ScriptTestDirectory = Path.Combine(RootDirectory, "Tests"); + ScriptTestDirectory = Path.Combine(RootDirectory, "tests", "suite"); InputTestDirectory = Path.Combine(ScriptTestDirectory, "Inputs"); } private static string FindRoot() { - // we start at the current directory and look up until we find the "Src" directory + // we start at the current directory and look up until we find the "src" directory var current = System.Reflection.Assembly.GetExecutingAssembly().Location; var found = false; while (!found && !string.IsNullOrEmpty(current)) { - var test = Path.Combine(current, "Src", "StdLib", "Lib"); + var test = Path.Combine(current, "src", "core", "IronPython.StdLib", "lib"); if (Directory.Exists(test)) { return current; } diff --git a/tests/IronPython.Tests/IronPythonTest.csproj b/tests/IronPython.Tests/IronPythonTest.csproj index 4a76e9f88..b13c32c65 100644 --- a/tests/IronPython.Tests/IronPythonTest.csproj +++ b/tests/IronPython.Tests/IronPythonTest.csproj @@ -6,7 +6,7 @@ - + @@ -26,15 +26,15 @@ - + false - - + + diff --git a/tests/suite/gen_stdlib_test.py b/tests/suite/gen_stdlib_test.py index b8180dea5..7e472405c 100644 --- a/tests/suite/gen_stdlib_test.py +++ b/tests/suite/gen_stdlib_test.py @@ -51,7 +51,7 @@ def load_tests(loader, standard_tests, pattern): filepath = os.path.join(location, name + ("_" + package if package else "") + "_stdlib.py") - sys.path.insert(0, os.path.abspath(os.path.join(__file__, "../../Src/StdLib/Lib"))) + sys.path.insert(0, os.path.abspath(os.path.join(__file__, "../../src/core/IronPython.StdLib/lib"))) module = importlib.import_module("{package}test.{name}".format(name=name, package=package + "." if package else "")) tests = [] diff --git a/tests/suite/test_dict.py b/tests/suite/test_dict.py index 6e3bf81e9..90036fe71 100644 --- a/tests/suite/test_dict.py +++ b/tests/suite/test_dict.py @@ -956,7 +956,7 @@ def test_cp16519(self): self.assertEqual(sys.Dict["1"], "b") del sys.Dict - with path_modifier(os.path.join(source_root(), 'Tests')): + with path_modifier(os.path.join(source_root(), 'tests', 'suite')): import testpkg1 testpkg1.Dict = {"1": "c"} self.assertEqual(testpkg1.Dict["1"], "c") diff --git a/tests/suite/test_exceptions_generated.py b/tests/suite/test_exceptions_generated.py index 079224089..5ae91770f 100644 --- a/tests/suite/test_exceptions_generated.py +++ b/tests/suite/test_exceptions_generated.py @@ -30,7 +30,7 @@ def setUp(self): clr.AddReference("IronPython") if is_cli: - with path_modifier(os.path.join(source_root(), 'Src', 'Scripts')): + with path_modifier(os.path.join(source_root(), 'eng', 'scripts')): from generate_exceptions import pythonExcs as test_cases test_cases = [x.replace('Error', '') + 'Exception' for x in test_cases] for exc_name in test_cases: