Skip to content

Failing Test(s): RequestPathBaseTests #51679

Open
@Tratcher

Description

@Tratcher

Failing Test(s)

namespace Microsoft.AspNetCore.Server.IIS.IISExpress.FunctionalTests;
class RequestPathBaseTests
RequestPathBase_Split
RequestPathBase_WithDoubleSlashes_Split

Error Message

 HTTP Error 500.19 - Internal Server Error
  The requested page cannot be accessed because the related configuration data for the page is invalid.

Logs

(From a local build with extra logs).

 Microsoft.AspNetCore.Server.IIS.IISExpress.FunctionalTests.RequestPathBaseTests.RequestPathBase_WithDoubleSlashes_Split(url: "/Sub/App/PathANDPathBase/PATH", expectedPathBase: "/Sub/App/PathANDPathBase", expectedPath: "/PATH")
   Source: RequestPathBaseTests.cs line 80
   Duration: 303 ms

  Message: 
Assert.Equal() Failure
Expected: 200
Actual:   500

  Stack Trace: 
RequestPathBaseTests.RequestPathBase_WithDoubleSlashes_Split(String url, String expectedPathBase, String expectedPath) line 85
--- End of stack trace from previous location ---

  Standard Output: 
| [0.005s] TestLifetime Information: Starting test RequestPathBase_WithDoubleSlashes_Split-_Sub_App_PathANDPathBase_PATH-_Sub_App_PathANDPathBase-_PATH at 2023-10-26T17:25:24
| [0.302s] Microsoft.AspNetCore.Server.IIS.IISExpress.FunctionalTests.RequestPathBaseTests Information: Headers: 
|                                                                                                       HTTP/1.1 500 Internal Server Error
|                                                                                                       Cache-Control: private
|                                                                                                       Content-Type: text/html; charset=utf-8
|                                                                                                       Server: Microsoft-IIS/10.0
|                                                                                                       X-Powered-By: ASP.NET
|                                                                                                       Date: Thu, 26 Oct 2023 17:25:24 GMT
|                                                                                                       Content-Length: 5133
| [0.305s] Microsoft.AspNetCore.Server.IIS.IISExpress.FunctionalTests.RequestPathBaseTests Information: Body: 
|                                                                                                       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>IIS 10.0 Detailed Error - 500.19 - Internal Server Error</title> 
<style type="text/css"> 
<!-- 
body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;} 
code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;} 
.config_source code{font-size:.8em;color:#000000;} 
pre{margin:0;font-size:1.4em;word-wrap:break-word;} 
ul,ol{margin:10px 0 10px 5px;} 
ul.first,ol.first{margin-top:5px;} 
fieldset{padding:0 15px 10px 15px;word-break:break-all;} 
.summary-container fieldset{padding-bottom:5px;margin-top:4px;} 
legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;} 
legend{color:#333333;;margin:4px 0 8px -12px;_margin-top:0px; 
font-weight:bold;font-size:1em;} 
a:link,a:visited{color:#007EFF;font-weight:bold;} 
a:hover{text-decoration:none;} 
h1{font-size:2.4em;margin:0;color:#FFF;} 
h2{font-size:1.7em;margin:0;color:#CC0000;} 
h3{font-size:1.4em;margin:10px 0 0 0;color:#CC0000;} 
h4{font-size:1.2em;margin:10px 0 5px 0; 
}#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS",Verdana,sans-serif; 
 color:#FFF;background-color:#5C87B2; 
}#content{margin:0 0 0 2%;position:relative;} 
.summary-container,.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} 
.content-container p{margin:0 0 10px 0; 
}#details-left{width:35%;float:left;margin-right:2%; 
}#details-right{width:63%;float:left;overflow:hidden; 
}#server_version{width:96%;_height:1px;min-height:1px;margin:0 0 5px 0;padding:11px 2% 8px 2%;color:#FFFFFF; 
 background-color:#5A7FA5;border-bottom:1px solid #C1CFDD;border-top:1px solid #4A6C8E;font-weight:normal; 
 font-size:1em;color:#FFF;text-align:right; 
}#server_version p{margin:5px 0;} 
table{margin:4px 0 4px 0;width:100%;border:none;} 
td,th{vertical-align:top;padding:3px 0;text-align:left;font-weight:normal;border:none;} 
th{width:30%;text-align:right;padding-right:2%;font-weight:bold;} 
thead th{background-color:#ebebeb;width:25%; 
}#details-right th{width:20%;} 
table tr.alt td,table tr.alt th{} 
.highlight-code{color:#CC0000;font-weight:bold;font-style:italic;} 
.clear{clear:both;} 
.preferred{padding:0 5px 2px 5px;font-weight:normal;background:#006633;color:#FFF;font-size:.8em;} 
--> 
</style> 
 
</head> 
<body> 
<div id="content"> 
<div class="content-container"> 
  <h3>HTTP Error 500.19 - Internal Server Error</h3> 
  <h4>The requested page cannot be accessed because the related configuration data for the page is invalid.</h4> 
</div> 
 
<div class="content-container"> 
 <fieldset><h4>Detailed Error Information:</h4> 
  <div id="details-left"> 
   <table border="0" cellpadding="0" cellspacing="0"> 
    <tr class="alt"><th>Module</th><td>&nbsp;&nbsp;&nbsp;IIS Web Core</td></tr> 
    <tr><th>Notification</th><td>&nbsp;&nbsp;&nbsp;Unknown</td></tr> 
    <tr class="alt"><th>Handler</th><td>&nbsp;&nbsp;&nbsp;Not yet determined</td></tr> 
    <tr><th>Error Code</th><td>&nbsp;&nbsp;&nbsp;0x80070003</td></tr> 
    <tr class="alt"><th>Config Error</th><td>&nbsp;&nbsp;&nbsp;Cannot read configuration file
|                                                                                                       </td></tr> 
<tr><th>Config File</th><td>&nbsp;&nbsp;&nbsp;\\?\C:\inetpub\wwwroot\web.config</td></tr> 
   </table> 
  </div> 
  <div id="details-right"> 
   <table border="0" cellpadding="0" cellspacing="0"> 
    <tr class="alt"><th>Requested URL</th><td>&nbsp;&nbsp;&nbsp;http://localhost:54198/Sub/App/PathANDPathBase/PATH</td></tr> 
    <tr><th>Physical Path</th><td>&nbsp;&nbsp;&nbsp;</td></tr> 
    <tr class="alt"><th>Logon Method</th><td>&nbsp;&nbsp;&nbsp;Not yet determined</td></tr> 
    <tr><th>Logon User</th><td>&nbsp;&nbsp;&nbsp;Not yet determined</td></tr> 
    <tr class="alt"><th>Request Tracing Directory</th><td>&nbsp;&nbsp;&nbsp;C:\Users\chrross\OneDrive - Microsoft\Documents\IISExpress\TraceLogFiles\</td></tr> 
   </table> 
   <div class="clear"></div> 
  </div> 
 </fieldset> 
</div> 
  <div class="config_source content-container"> 
    <fieldset> 
    <h4>Config Source:</h4> 
    <pre><code>   -1: 
|                                                                                                       <span class="highlight-code">    0: </span>
|                                                                                                       </code></pre> 
    </fieldset> 
  </div> 
 
<div class="content-container"> 
 <fieldset><h4>More Information:</h4> 
  This error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.<p></p><p></p>If you see the text "There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined", this error is because you are running a .NET Framework 3.5-based application in .NET Framework 4.  If you are running WebMatrix, to resolve this problem, go to the Settings node to set the .NET Framework version to ".NET 2". You can also remove the extra sections from the web.config file. 
  <p><a href="https://go.microsoft.com/fwlink/?LinkID=62293&amp;IIS70Error=500,19,0x80070003,23570">View more information &raquo;</a></p> 
   
 </fieldset> 
</div> 
</div> 
</body> 
</html> 

| [0.313s] Microsoft.AspNetCore.Server.IIS.IISExpress.FunctionalTests.RequestPathBaseTests Error: Test threw an exception.
| Xunit.Sdk.EqualException: Assert.Equal() Failure
| Expected: 200
| Actual:   500
|    at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in /_/src/xunit.assert/Asserts/EqualityAsserts.cs:line 96
|    at Xunit.Assert.Equal[T](T expected, T actual) in /_/src/xunit.assert/Asserts/EqualityAsserts.cs:line 63
|    at Microsoft.AspNetCore.Server.IIS.IISExpress.FunctionalTests.RequestPathBaseTests.RequestPathBase_WithDoubleSlashes_Split(String url, String expectedPathBase, String expectedPath) in D:\git\aspnetcore8\src\Servers\IIS\IIS\test\Common.FunctionalTests\RequestPathBaseTests.cs:line 85
|    at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass48_0.<<InvokeTestMethodAsync>b__1>d.MoveNext() in /_/src/xunit.execution/Sdk/Frameworks/Runners/TestInvoker.cs:line 264
| --- End of stack trace from previous location ---
|    at Xunit.Sdk.ExecutionTimer.AggregateAsync(Func`1 asyncAction) in /_/src/xunit.execution/Sdk/Frameworks/ExecutionTimer.cs:line 48
|    at Xunit.Sdk.ExceptionAggregator.RunAsync(Func`1 code) in /_/src/xunit.core/Sdk/ExceptionAggregator.cs:line 90
| [0.322s] TestLifetime Information: Finished test RequestPathBase_WithDoubleSlashes_Split-_Sub_App_PathANDPathBase_PATH-_Sub_App_PathANDPathBase-_PATH in 0.3202118s

Build

These are skipped on Helix, but fail locally.

Analysis

These tests were added about a year ago and might never have worked in the main build, but they weren't running most of the time due to another Helix issue.

The tests have their own config file which is only different in that it sets up a sub application to test PathBase. However, it sets up a root application that points at %SystemDrive%\inetpub\wwwroot, but that will only be present if you have IIS installed, not just IIS Express.

<virtualDirectory path="/" physicalPath="[ApplicationPhysicalPath]" />
</application>
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />

So this IIS Express test depends on an IIS asset which might not be available. We either need some other root site, or to require IIS for these tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsfeature-iisIncludes: IIS, ANCMtest-failure

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions