Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests to document test suite messages #1313

Merged
merged 31 commits into from
Oct 13, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
c5f0eea
Try to simplify automation.cli and support of different tfms
Evangelink Oct 7, 2022
0d2a4cd
Suite Life Cycle Test
engyebrahim Oct 7, 2022
684633e
Fix test
Evangelink Oct 7, 2022
7833e9e
add all classcleanup attribute cases
engyebrahim Oct 10, 2022
cfc4147
test net462 in suite tests
engyebrahim Oct 10, 2022
c70e0a2
apply PR's comments
engyebrahim Oct 10, 2022
f832110
fix number of discovered tests
engyebrahim Oct 10, 2022
0740c4f
add foreach test Outcome
engyebrahim Oct 10, 2022
d0eff2b
remove classcleanup from test verify
engyebrahim Oct 10, 2022
147097c
Suite Life Cycle Test
engyebrahim Oct 7, 2022
d73a8ca
Fix test
Evangelink Oct 7, 2022
74456da
add all classcleanup attribute cases
engyebrahim Oct 10, 2022
dfb7aff
test net462 in suite tests
engyebrahim Oct 10, 2022
849fd4d
apply PR's comments
engyebrahim Oct 10, 2022
3880c9f
fix number of discovered tests
engyebrahim Oct 10, 2022
6b45171
add foreach test Outcome
engyebrahim Oct 10, 2022
6a4def4
remove classcleanup from test verify
engyebrahim Oct 10, 2022
9fdd838
fixed the typos
engyebrahim Oct 11, 2022
9c4a7de
Merge branch 'Suite-Life-Cycle-Test' of https://github.com/engyebrahi…
engyebrahim Oct 11, 2022
0f4b8b7
fix the protected var
engyebrahim Oct 11, 2022
dbb7cbe
add assemblyinit and cleanup
engyebrahim Oct 11, 2022
71d4b85
add inheritance test classes
engyebrahim Oct 11, 2022
2dad730
update the inheritance attribute to be for classinit too
engyebrahim Oct 11, 2022
0fe3d0d
clean the assembly class
engyebrahim Oct 11, 2022
8ae3073
make setter private for RunEventsHandler
engyebrahim Oct 11, 2022
f63280d
fix the test
engyebrahim Oct 12, 2022
535a2e4
fix
engyebrahim Oct 12, 2022
adc51aa
added more 4 test class for the parent init and cleanup cases
engyebrahim Oct 12, 2022
09e9405
applied PR's comments
engyebrahim Oct 13, 2022
67ff6bf
Merge branch 'main' into Suite-Life-Cycle-Test
engyebrahim Oct 13, 2022
2cd3f7a
fix
engyebrahim Oct 13, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions TestFx.sln
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestFramework.ForTestingMST
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HierarchyProject", "test\E2ETests\TestAssets\HierarchyProject\HierarchyProject.csproj", "{94A4DAA8-9645-4161-91F6-11EB1AD70EFC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SuiteLifeCycleTestProject", "test\E2ETests\TestAssets\SuiteLifeCycleTestProject\SuiteLifeCycleTestProject.csproj", "{9B5D52F6-EC81-48FA-9F2F-4F5FA7FE70F1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -341,6 +343,10 @@ Global
{94A4DAA8-9645-4161-91F6-11EB1AD70EFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{94A4DAA8-9645-4161-91F6-11EB1AD70EFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{94A4DAA8-9645-4161-91F6-11EB1AD70EFC}.Release|Any CPU.Build.0 = Release|Any CPU
{9B5D52F6-EC81-48FA-9F2F-4F5FA7FE70F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9B5D52F6-EC81-48FA-9F2F-4F5FA7FE70F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B5D52F6-EC81-48FA-9F2F-4F5FA7FE70F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B5D52F6-EC81-48FA-9F2F-4F5FA7FE70F1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -400,6 +406,7 @@ Global
{66608D86-416A-49AF-A937-C47F7E4586AE} = {D53BD452-F69F-4FB3-8B98-386EDA28A4C8}
{0685FBC3-C3A9-43A9-B15C-15BAA39705FE} = {33D3029D-E653-4929-BB31-C714178C4BEE}
{94A4DAA8-9645-4161-91F6-11EB1AD70EFC} = {D53BD452-F69F-4FB3-8B98-386EDA28A4C8}
{9B5D52F6-EC81-48FA-9F2F-4F5FA7FE70F1} = {D53BD452-F69F-4FB3-8B98-386EDA28A4C8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {31E0F4D5-975A-41CC-933E-545B2201FAF9}
Expand Down
31 changes: 1 addition & 30 deletions test/E2ETests/Automation.CLI/Automation.CLI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,34 +14,5 @@
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" PrivateAssets="all" />
<ProjectReference Include="$(RepoRoot)test\TestFramework.ForTestingMSTest\TestFramework.ForTestingMSTest.csproj" />
</ItemGroup>

<Target Name="CopyMSBuildScriptsFiles" DependsOnTargets="CoreCompile" AfterTargets="CoreCompile">
<PropertyGroup>
<SourcePath>$(TargetDir)..\..\</SourcePath>
<DestinationPath>$(TargetDir)..\..\..\TestAssets</DestinationPath>
</PropertyGroup>

<ItemGroup>
<FileToCopy Include="$(NuGetPackageRoot)\microsoft.testplatform.adapterutilities\$(MicrosoftNETTestSdkVersion)\lib\netstandard2.0\Microsoft.TestPlatform.AdapterUtilities.dll" KeepDuplicates="true" />
<FileToCopy Include="$(SourcePath)MSTestAdapter.PlatformServices\net462\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll" KeepDuplicates="True" />
<FileToCopy Include="$(SourcePath)MSTestAdapter.PlatformServices\net462\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.pdb" KeepDuplicates="True" />
<FileToCopy Include="$(SourcePath)TestFramework\net462\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" KeepDuplicates="True" />
<FileToCopy Include="$(SourcePath)TestFramework\net462\Microsoft.VisualStudio.TestPlatform.TestFramework.pdb" KeepDuplicates="True" />
<FileToCopy Include="$(SourcePath)TestFramework.Extensions\net462\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" KeepDuplicates="True" />
<FileToCopy Include="$(SourcePath)TestFramework.Extensions\net462\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.pdb" KeepDuplicates="True" />
<FileToCopy Include="$(SourcePath)MSTest.TestAdapter\net462\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll" KeepDuplicates="True" />
<FileToCopy Include="$(SourcePath)MSTest.TestAdapter\net462\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.pdb" KeepDuplicates="True" />

<FileToCopy Include="$(NuGetPackageRoot)\microsoft.testplatform.adapterutilities\$(MicrosoftNETTestSdkVersion)\lib\netstandard2.0\Microsoft.TestPlatform.AdapterUtilities.dll" KeepDuplicates="true" Folder="netcoreapp3.1" />
<FileToCopy Include="$(SourcePath)MSTest.TestAdapter\netcoreapp3.1\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll" KeepDuplicates="True" Folder="netcoreapp3.1" />
<FileToCopy Include="$(SourcePath)MSTest.TestAdapter\netcoreapp3.1\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.pdb" KeepDuplicates="True" Folder="netcoreapp3.1" />
<FileToCopy Include="$(SourcePath)MSTestAdapter.PlatformServices\netstandard2.0\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll" KeepDuplicates="True" Folder="netcoreapp3.1" />
<FileToCopy Include="$(SourcePath)MSTestAdapter.PlatformServices\netstandard2.0\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.pdb" KeepDuplicates="True" Folder="netcoreapp3.1" />
</ItemGroup>

<Copy SourceFiles="@(FileToCopy)" DestinationFiles="$(DestinationPath)\%(FileToCopy.Folder)\%(Filename)%(Extension)" SkipUnchangedFiles="True" OverwriteReadOnlyFiles="True" Retries="3" RetryDelayMilliseconds="500" UseHardlinksIfPossible="False" UseSymboliclinksIfPossible="False" ErrorIfLinkFails="False" Condition="@(FileToCopy-&gt;Count()) &gt; 0">

<Output TaskParameter="DestinationFiles" ItemName="FileWrites" />
</Copy>
</Target>

</Project>
4 changes: 2 additions & 2 deletions test/E2ETests/Automation.CLI/CLITestBase.common.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ protected string GetTestAdapterPath()
/// <param name="settingsXml">RunSettings provided for discovery/execution</param>
/// <param name="testAdapterPath">Full path to TestAdapter.</param>
/// <returns>RunSettingXml as string</returns>
protected string GetRunSettingXml(string settingsXml, string testAdapterPath)
protected string GetRunSettingXml(string settingsXml, string testAdapterPath, string targetFramework = "")
{
if (string.IsNullOrEmpty(settingsXml))
{
Expand All @@ -93,7 +93,7 @@ protected string GetRunSettingXml(string settingsXml, string testAdapterPath)
}

XmlElement root = doc.DocumentElement;
RunConfiguration runConfiguration = new(testAdapterPath);
RunConfiguration runConfiguration = new(Path.Combine(testAdapterPath, targetFramework));
XmlElement runConfigElement = runConfiguration.ToXml();
if (root[runConfiguration.SettingsName] == null)
{
Expand Down
6 changes: 3 additions & 3 deletions test/E2ETests/Automation.CLI/CLITestBase.e2e.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public partial class CLITestBase : TestContainer
{
private static VsTestConsoleWrapper s_vsTestConsoleWrapper;
private DiscoveryEventsHandler _discoveryEventsHandler;
private RunEventsHandler _runEventsHandler;
protected RunEventsHandler _runEventsHandler;

public CLITestBase()
{
Expand Down Expand Up @@ -47,12 +47,12 @@ public void InvokeVsTestForDiscovery(string[] sources, string runSettings = "")
/// <param name="sources">List of test assemblies.</param>
/// <param name="runSettings">Run settings for execution.</param>
/// <param name="testCaseFilter">Test Case filter for execution.</param>
public void InvokeVsTestForExecution(string[] sources, string runSettings = "", string testCaseFilter = null)
public void InvokeVsTestForExecution(string[] sources, string runSettings = "", string testCaseFilter = null, string targetFramework = "")
{
ExpandTestSourcePaths(sources);

_runEventsHandler = new RunEventsHandler();
string runSettingXml = GetRunSettingXml(runSettings, GetTestAdapterPath());
string runSettingXml = GetRunSettingXml(runSettings, GetTestAdapterPath(), targetFramework);

s_vsTestConsoleWrapper.RunTests(sources, runSettingXml, new TestPlatformOptions { TestCaseFilter = testCaseFilter }, _runEventsHandler);
if (_runEventsHandler.Errors.Any())
Expand Down
58 changes: 58 additions & 0 deletions test/E2ETests/Smoke.E2E.Tests/SuiteLifeCycleTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

using System.Linq;

using Microsoft.MSTestV2.CLIAutomation;

namespace MSTestAdapter.Smoke.E2ETests;
public class SuiteLifeCycleTests : CLITestBase
{
private const string Assembly = "SuiteLifeCycleTestProject.dll";

public void ValidateTestRunLifecycle_net6()
{
ValidateTestRunLifecycle("net6.0");
}

public void ValidateTestRunLifecycle_net462()
{
ValidateTestRunLifecycle("net462");
}

private void ValidateTestRunLifecycle(string targetFramework)
{
InvokeVsTestForExecution(new[] { targetFramework + "\\" + Assembly }, targetFramework: targetFramework);
Verify(_runEventsHandler.PassedTests.Count == 1);

var testMethod = _runEventsHandler.PassedTests.Single();
Verify(testMethod.Outcome == Microsoft.VisualStudio.TestPlatform.ObjectModel.TestOutcome.Passed);
if (targetFramework == "net462")
{
Verify(testMethod.Messages.Single().Text.Contains(
"""
ClassInitialize was called
Ctor was called
TestInitialize was called
TestMethod was called
TestCleanup was called
Dispose was called
ClassCleanup was called
"""));
}
else
{
Verify(testMethod.Messages.Single().Text.Contains(
"""
ClassInitialize was called
Ctor was called
TestInitialize was called
TestMethod was called
TestCleanup was called
DisposeAsync was called
Dispose was called
ClassCleanup was called
"""));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
<ProjectReference Include="..\ReferencedProjectFromDataSourceTest\ReferencedProjectFromDataSourceTest.csproj" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@
</PropertyGroup>

<ItemGroup>
<Reference Include="System" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@
</PropertyGroup>

<ItemGroup>
<Reference Include="System" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,7 @@
</PropertyGroup>

<ItemGroup>
<Reference Include="System" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@
</PropertyGroup>

<ItemGroup>
<Reference Include="System" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@
</PropertyGroup>

<ItemGroup>
<Reference Include="System" />
<ProjectReference Include="$(RepoRoot)samples\FxExtensibility\FxExtensibility.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)\src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)\src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)\src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)\src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@
</PropertyGroup>

<ItemGroup>
<Reference Include="System" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@
</PropertyGroup>

<ItemGroup>
<Reference Include="System" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj" />
<ProjectReference Include="$(RepoRoot)src\TestFramework\TestFramework\TestFramework.csproj" />
<ProjectReference Include="$(RepoRoot)src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj" />
</ItemGroup>

</Project>
Loading