Fix TestOnStartWithArgsThenStop and make service tests more reliable - #39153

Merged
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests
Jul 15, 2020
Merged

Fix TestOnStartWithArgsThenStop and make service tests more reliable#39153
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests

Conversation

@danmoseley

@danmoseleydanmoseley commented Jul 12, 2020

Copy link
Copy Markdown
Contributor

Fixes#38945

There were two bugs

  1. Test service does not mutually synchronize connect and start messages, but one of the test expects them to be ordered. This is the cause of the failure. I experimented with making the start message write a continuation of the connect message write, but this problem only occurs for these two messages. All other messages can be handled sequentially, because the test can wait on the matching SCM status. The simplest approach is simply to recognize these messages are unordered and allow either ordering in the test.

  2. Test service did not wait for the client to connect before writing to the pipe. This was because when test services are being torn down, the test service installer will issue the Stop command to the service via the SCM, which will cause the test service to write a stop message to the pipe, which no longer has a client planning to connect to it, so in a previous change we stopped waiting on the connection, introducing flakiness. Fix: wait on the client connection, unless the message is a stop message. (Tests that may wait on a stop message all wait on some previous message before it, so the test service will always have a pipe when it writes to such tests.)

Using a debugger to figure out what is happening is painful because of the various threads and processes. Tracing is far more convenient and useful. I added a bunch of tracing to the test code. With luck this is the last timing problem in these tests, but we've had a series of such problems so I've left the tracing in for next time, disabled by default.

Also added a comment about Dispose, which was confusing.

@MattGal

MattGal commented Jul 13, 2020

Copy link
Copy Markdown
Member

@danmosemsft ah I see "upload" in this context means AzDO reporting and XUnit reporting (which is done in the context of the workitem) and it indeed seems to have hung inside the Azure Python SDK. I'll create an issue for this on the arcade backlog; if you see a bunch more please let me know and we can bump priority.

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

Thanks @MattGal

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@ViktorHofer can you help answer that?

@ViktorHofer

Copy link
Copy Markdown
Member

I know that none of our tools rely on it but maybe @wfurt's dashboard?

@MattGal

Copy link
Copy Markdown
Member

I also expect, while this is a seeming bug in the azure-storage-blob python SDK, this specific failure is going to be pretty rare. Either way, if you actively use and want the Kusto XUnit support I'd appreciate a quick comment in dotnet/arcade#5786 for when we discuss it at Thursday's triage.

@wfurt

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

@MattGal

MattGal commented Jul 14, 2020

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

If you like Xunit Facts in your kusto, you like xunit-reporter.py. Some folks on our team less enthusiastic about it because it can be quite expensive to put that much into Kusto. If you just care about work items and their exit codes, you don't care about the reporter. Ping me on Teams or a quick call if you want to go deeper.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

ping @Anipik

@danmoseley
danmoseley merged commit ee41d4a into dotnet:masterJul 15, 2020
@danmoseley
danmoseley deleted the svctests branch July 15, 2020 00:33
@karelzkarelz added this to the 5.0.0 milestone Aug 18, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
@danmoseley
danmoseley restored the svctests branch December 22, 2020 05:07
@danmoseley
danmoseley deleted the svctests branch September 30, 2022 16:36
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0)

7 participants

@danmoseley@MattGal@ViktorHofer@wfurt@Anipik@karelz@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Fix TestOnStartWithArgsThenStop and make service tests more reliable - #39153

Merged
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests
Jul 15, 2020
Merged

Fix TestOnStartWithArgsThenStop and make service tests more reliable#39153
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests

Conversation

@danmoseley

@danmoseleydanmoseley commented Jul 12, 2020

Copy link
Copy Markdown
Contributor

Fixes#38945

There were two bugs

  1. Test service does not mutually synchronize connect and start messages, but one of the test expects them to be ordered. This is the cause of the failure. I experimented with making the start message write a continuation of the connect message write, but this problem only occurs for these two messages. All other messages can be handled sequentially, because the test can wait on the matching SCM status. The simplest approach is simply to recognize these messages are unordered and allow either ordering in the test.

  2. Test service did not wait for the client to connect before writing to the pipe. This was because when test services are being torn down, the test service installer will issue the Stop command to the service via the SCM, which will cause the test service to write a stop message to the pipe, which no longer has a client planning to connect to it, so in a previous change we stopped waiting on the connection, introducing flakiness. Fix: wait on the client connection, unless the message is a stop message. (Tests that may wait on a stop message all wait on some previous message before it, so the test service will always have a pipe when it writes to such tests.)

Using a debugger to figure out what is happening is painful because of the various threads and processes. Tracing is far more convenient and useful. I added a bunch of tracing to the test code. With luck this is the last timing problem in these tests, but we've had a series of such problems so I've left the tracing in for next time, disabled by default.

Also added a comment about Dispose, which was confusing.

@MattGal

MattGal commented Jul 13, 2020

Copy link
Copy Markdown
Member

@danmosemsft ah I see "upload" in this context means AzDO reporting and XUnit reporting (which is done in the context of the workitem) and it indeed seems to have hung inside the Azure Python SDK. I'll create an issue for this on the arcade backlog; if you see a bunch more please let me know and we can bump priority.

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

Thanks @MattGal

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@ViktorHofer can you help answer that?

@ViktorHofer

Copy link
Copy Markdown
Member

I know that none of our tools rely on it but maybe @wfurt's dashboard?

@MattGal

Copy link
Copy Markdown
Member

I also expect, while this is a seeming bug in the azure-storage-blob python SDK, this specific failure is going to be pretty rare. Either way, if you actively use and want the Kusto XUnit support I'd appreciate a quick comment in dotnet/arcade#5786 for when we discuss it at Thursday's triage.

@wfurt

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

@MattGal

MattGal commented Jul 14, 2020

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

If you like Xunit Facts in your kusto, you like xunit-reporter.py. Some folks on our team less enthusiastic about it because it can be quite expensive to put that much into Kusto. If you just care about work items and their exit codes, you don't care about the reporter. Ping me on Teams or a quick call if you want to go deeper.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

ping @Anipik

@danmoseley
danmoseley merged commit ee41d4a into dotnet:masterJul 15, 2020
@danmoseley
danmoseley deleted the svctests branch July 15, 2020 00:33
@karelzkarelz added this to the 5.0.0 milestone Aug 18, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
@danmoseley
danmoseley restored the svctests branch December 22, 2020 05:07
@danmoseley
danmoseley deleted the svctests branch September 30, 2022 16:36
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0)

7 participants

@danmoseley@MattGal@ViktorHofer@wfurt@Anipik@karelz@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix TestOnStartWithArgsThenStop and make service tests more reliable - #39153

Merged
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests
Jul 15, 2020
Merged

Fix TestOnStartWithArgsThenStop and make service tests more reliable#39153
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests

Conversation

@danmoseley

@danmoseleydanmoseley commented Jul 12, 2020

Copy link
Copy Markdown
Contributor

Fixes#38945

There were two bugs

  1. Test service does not mutually synchronize connect and start messages, but one of the test expects them to be ordered. This is the cause of the failure. I experimented with making the start message write a continuation of the connect message write, but this problem only occurs for these two messages. All other messages can be handled sequentially, because the test can wait on the matching SCM status. The simplest approach is simply to recognize these messages are unordered and allow either ordering in the test.

  2. Test service did not wait for the client to connect before writing to the pipe. This was because when test services are being torn down, the test service installer will issue the Stop command to the service via the SCM, which will cause the test service to write a stop message to the pipe, which no longer has a client planning to connect to it, so in a previous change we stopped waiting on the connection, introducing flakiness. Fix: wait on the client connection, unless the message is a stop message. (Tests that may wait on a stop message all wait on some previous message before it, so the test service will always have a pipe when it writes to such tests.)

Using a debugger to figure out what is happening is painful because of the various threads and processes. Tracing is far more convenient and useful. I added a bunch of tracing to the test code. With luck this is the last timing problem in these tests, but we've had a series of such problems so I've left the tracing in for next time, disabled by default.

Also added a comment about Dispose, which was confusing.

@MattGal

MattGal commented Jul 13, 2020

Copy link
Copy Markdown
Member

@danmosemsft ah I see "upload" in this context means AzDO reporting and XUnit reporting (which is done in the context of the workitem) and it indeed seems to have hung inside the Azure Python SDK. I'll create an issue for this on the arcade backlog; if you see a bunch more please let me know and we can bump priority.

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

Thanks @MattGal

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@ViktorHofer can you help answer that?

@ViktorHofer

Copy link
Copy Markdown
Member

I know that none of our tools rely on it but maybe @wfurt's dashboard?

@MattGal

Copy link
Copy Markdown
Member

I also expect, while this is a seeming bug in the azure-storage-blob python SDK, this specific failure is going to be pretty rare. Either way, if you actively use and want the Kusto XUnit support I'd appreciate a quick comment in dotnet/arcade#5786 for when we discuss it at Thursday's triage.

@wfurt

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

@MattGal

MattGal commented Jul 14, 2020

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

If you like Xunit Facts in your kusto, you like xunit-reporter.py. Some folks on our team less enthusiastic about it because it can be quite expensive to put that much into Kusto. If you just care about work items and their exit codes, you don't care about the reporter. Ping me on Teams or a quick call if you want to go deeper.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

ping @Anipik

@danmoseley
danmoseley merged commit ee41d4a into dotnet:masterJul 15, 2020
@danmoseley
danmoseley deleted the svctests branch July 15, 2020 00:33
@karelzkarelz added this to the 5.0.0 milestone Aug 18, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
@danmoseley
danmoseley restored the svctests branch December 22, 2020 05:07
@danmoseley
danmoseley deleted the svctests branch September 30, 2022 16:36
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0)

7 participants

@danmoseley@MattGal@ViktorHofer@wfurt@Anipik@karelz@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix TestOnStartWithArgsThenStop and make service tests more reliable - #39153

Merged
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests
Jul 15, 2020
Merged

Fix TestOnStartWithArgsThenStop and make service tests more reliable#39153
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests

Conversation

@danmoseley

@danmoseleydanmoseley commented Jul 12, 2020

Copy link
Copy Markdown
Contributor

Fixes#38945

There were two bugs

  1. Test service does not mutually synchronize connect and start messages, but one of the test expects them to be ordered. This is the cause of the failure. I experimented with making the start message write a continuation of the connect message write, but this problem only occurs for these two messages. All other messages can be handled sequentially, because the test can wait on the matching SCM status. The simplest approach is simply to recognize these messages are unordered and allow either ordering in the test.

  2. Test service did not wait for the client to connect before writing to the pipe. This was because when test services are being torn down, the test service installer will issue the Stop command to the service via the SCM, which will cause the test service to write a stop message to the pipe, which no longer has a client planning to connect to it, so in a previous change we stopped waiting on the connection, introducing flakiness. Fix: wait on the client connection, unless the message is a stop message. (Tests that may wait on a stop message all wait on some previous message before it, so the test service will always have a pipe when it writes to such tests.)

Using a debugger to figure out what is happening is painful because of the various threads and processes. Tracing is far more convenient and useful. I added a bunch of tracing to the test code. With luck this is the last timing problem in these tests, but we've had a series of such problems so I've left the tracing in for next time, disabled by default.

Also added a comment about Dispose, which was confusing.

@MattGal

MattGal commented Jul 13, 2020

Copy link
Copy Markdown
Member

@danmosemsft ah I see "upload" in this context means AzDO reporting and XUnit reporting (which is done in the context of the workitem) and it indeed seems to have hung inside the Azure Python SDK. I'll create an issue for this on the arcade backlog; if you see a bunch more please let me know and we can bump priority.

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

Thanks @MattGal

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@ViktorHofer can you help answer that?

@ViktorHofer

Copy link
Copy Markdown
Member

I know that none of our tools rely on it but maybe @wfurt's dashboard?

@MattGal

Copy link
Copy Markdown
Member

I also expect, while this is a seeming bug in the azure-storage-blob python SDK, this specific failure is going to be pretty rare. Either way, if you actively use and want the Kusto XUnit support I'd appreciate a quick comment in dotnet/arcade#5786 for when we discuss it at Thursday's triage.

@wfurt

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

@MattGal

MattGal commented Jul 14, 2020

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

If you like Xunit Facts in your kusto, you like xunit-reporter.py. Some folks on our team less enthusiastic about it because it can be quite expensive to put that much into Kusto. If you just care about work items and their exit codes, you don't care about the reporter. Ping me on Teams or a quick call if you want to go deeper.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

ping @Anipik

@danmoseley
danmoseley merged commit ee41d4a into dotnet:masterJul 15, 2020
@danmoseley
danmoseley deleted the svctests branch July 15, 2020 00:33
@karelzkarelz added this to the 5.0.0 milestone Aug 18, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
@danmoseley
danmoseley restored the svctests branch December 22, 2020 05:07
@danmoseley
danmoseley deleted the svctests branch September 30, 2022 16:36
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0)

7 participants

@danmoseley@MattGal@ViktorHofer@wfurt@Anipik@karelz@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Fix TestOnStartWithArgsThenStop and make service tests more reliable - #39153

Merged
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests
Jul 15, 2020
Merged

Fix TestOnStartWithArgsThenStop and make service tests more reliable#39153
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests

Conversation

@danmoseley

@danmoseleydanmoseley commented Jul 12, 2020

Copy link
Copy Markdown
Contributor

Fixes#38945

There were two bugs

  1. Test service does not mutually synchronize connect and start messages, but one of the test expects them to be ordered. This is the cause of the failure. I experimented with making the start message write a continuation of the connect message write, but this problem only occurs for these two messages. All other messages can be handled sequentially, because the test can wait on the matching SCM status. The simplest approach is simply to recognize these messages are unordered and allow either ordering in the test.

  2. Test service did not wait for the client to connect before writing to the pipe. This was because when test services are being torn down, the test service installer will issue the Stop command to the service via the SCM, which will cause the test service to write a stop message to the pipe, which no longer has a client planning to connect to it, so in a previous change we stopped waiting on the connection, introducing flakiness. Fix: wait on the client connection, unless the message is a stop message. (Tests that may wait on a stop message all wait on some previous message before it, so the test service will always have a pipe when it writes to such tests.)

Using a debugger to figure out what is happening is painful because of the various threads and processes. Tracing is far more convenient and useful. I added a bunch of tracing to the test code. With luck this is the last timing problem in these tests, but we've had a series of such problems so I've left the tracing in for next time, disabled by default.

Also added a comment about Dispose, which was confusing.

@MattGal

MattGal commented Jul 13, 2020

Copy link
Copy Markdown
Member

@danmosemsft ah I see "upload" in this context means AzDO reporting and XUnit reporting (which is done in the context of the workitem) and it indeed seems to have hung inside the Azure Python SDK. I'll create an issue for this on the arcade backlog; if you see a bunch more please let me know and we can bump priority.

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

Thanks @MattGal

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@ViktorHofer can you help answer that?

@ViktorHofer

Copy link
Copy Markdown
Member

I know that none of our tools rely on it but maybe @wfurt's dashboard?

@MattGal

Copy link
Copy Markdown
Member

I also expect, while this is a seeming bug in the azure-storage-blob python SDK, this specific failure is going to be pretty rare. Either way, if you actively use and want the Kusto XUnit support I'd appreciate a quick comment in dotnet/arcade#5786 for when we discuss it at Thursday's triage.

@wfurt

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

@MattGal

MattGal commented Jul 14, 2020

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

If you like Xunit Facts in your kusto, you like xunit-reporter.py. Some folks on our team less enthusiastic about it because it can be quite expensive to put that much into Kusto. If you just care about work items and their exit codes, you don't care about the reporter. Ping me on Teams or a quick call if you want to go deeper.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

ping @Anipik

@danmoseley
danmoseley merged commit ee41d4a into dotnet:masterJul 15, 2020
@danmoseley
danmoseley deleted the svctests branch July 15, 2020 00:33
@karelzkarelz added this to the 5.0.0 milestone Aug 18, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
@danmoseley
danmoseley restored the svctests branch December 22, 2020 05:07
@danmoseley
danmoseley deleted the svctests branch September 30, 2022 16:36
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0)

7 participants

@danmoseley@MattGal@ViktorHofer@wfurt@Anipik@karelz@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix TestOnStartWithArgsThenStop and make service tests more reliable - #39153

Merged
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests
Jul 15, 2020
Merged

Fix TestOnStartWithArgsThenStop and make service tests more reliable#39153
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests

Conversation

@danmoseley

@danmoseleydanmoseley commented Jul 12, 2020

Copy link
Copy Markdown
Contributor

Fixes#38945

There were two bugs

  1. Test service does not mutually synchronize connect and start messages, but one of the test expects them to be ordered. This is the cause of the failure. I experimented with making the start message write a continuation of the connect message write, but this problem only occurs for these two messages. All other messages can be handled sequentially, because the test can wait on the matching SCM status. The simplest approach is simply to recognize these messages are unordered and allow either ordering in the test.

  2. Test service did not wait for the client to connect before writing to the pipe. This was because when test services are being torn down, the test service installer will issue the Stop command to the service via the SCM, which will cause the test service to write a stop message to the pipe, which no longer has a client planning to connect to it, so in a previous change we stopped waiting on the connection, introducing flakiness. Fix: wait on the client connection, unless the message is a stop message. (Tests that may wait on a stop message all wait on some previous message before it, so the test service will always have a pipe when it writes to such tests.)

Using a debugger to figure out what is happening is painful because of the various threads and processes. Tracing is far more convenient and useful. I added a bunch of tracing to the test code. With luck this is the last timing problem in these tests, but we've had a series of such problems so I've left the tracing in for next time, disabled by default.

Also added a comment about Dispose, which was confusing.

@MattGal

MattGal commented Jul 13, 2020

Copy link
Copy Markdown
Member

@danmosemsft ah I see "upload" in this context means AzDO reporting and XUnit reporting (which is done in the context of the workitem) and it indeed seems to have hung inside the Azure Python SDK. I'll create an issue for this on the arcade backlog; if you see a bunch more please let me know and we can bump priority.

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

Thanks @MattGal

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@ViktorHofer can you help answer that?

@ViktorHofer

Copy link
Copy Markdown
Member

I know that none of our tools rely on it but maybe @wfurt's dashboard?

@MattGal

Copy link
Copy Markdown
Member

I also expect, while this is a seeming bug in the azure-storage-blob python SDK, this specific failure is going to be pretty rare. Either way, if you actively use and want the Kusto XUnit support I'd appreciate a quick comment in dotnet/arcade#5786 for when we discuss it at Thursday's triage.

@wfurt

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

@MattGal

MattGal commented Jul 14, 2020

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

If you like Xunit Facts in your kusto, you like xunit-reporter.py. Some folks on our team less enthusiastic about it because it can be quite expensive to put that much into Kusto. If you just care about work items and their exit codes, you don't care about the reporter. Ping me on Teams or a quick call if you want to go deeper.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

ping @Anipik

@danmoseley
danmoseley merged commit ee41d4a into dotnet:masterJul 15, 2020
@danmoseley
danmoseley deleted the svctests branch July 15, 2020 00:33
@karelzkarelz added this to the 5.0.0 milestone Aug 18, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
@danmoseley
danmoseley restored the svctests branch December 22, 2020 05:07
@danmoseley
danmoseley deleted the svctests branch September 30, 2022 16:36
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0)

7 participants

@danmoseley@MattGal@ViktorHofer@wfurt@Anipik@karelz@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Fix TestOnStartWithArgsThenStop and make service tests more reliable - #39153

Merged
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests
Jul 15, 2020
Merged

Fix TestOnStartWithArgsThenStop and make service tests more reliable#39153
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests

Conversation

@danmoseley

@danmoseleydanmoseley commented Jul 12, 2020

Copy link
Copy Markdown
Contributor

Fixes#38945

There were two bugs

  1. Test service does not mutually synchronize connect and start messages, but one of the test expects them to be ordered. This is the cause of the failure. I experimented with making the start message write a continuation of the connect message write, but this problem only occurs for these two messages. All other messages can be handled sequentially, because the test can wait on the matching SCM status. The simplest approach is simply to recognize these messages are unordered and allow either ordering in the test.

  2. Test service did not wait for the client to connect before writing to the pipe. This was because when test services are being torn down, the test service installer will issue the Stop command to the service via the SCM, which will cause the test service to write a stop message to the pipe, which no longer has a client planning to connect to it, so in a previous change we stopped waiting on the connection, introducing flakiness. Fix: wait on the client connection, unless the message is a stop message. (Tests that may wait on a stop message all wait on some previous message before it, so the test service will always have a pipe when it writes to such tests.)

Using a debugger to figure out what is happening is painful because of the various threads and processes. Tracing is far more convenient and useful. I added a bunch of tracing to the test code. With luck this is the last timing problem in these tests, but we've had a series of such problems so I've left the tracing in for next time, disabled by default.

Also added a comment about Dispose, which was confusing.

@MattGal

MattGal commented Jul 13, 2020

Copy link
Copy Markdown
Member

@danmosemsft ah I see "upload" in this context means AzDO reporting and XUnit reporting (which is done in the context of the workitem) and it indeed seems to have hung inside the Azure Python SDK. I'll create an issue for this on the arcade backlog; if you see a bunch more please let me know and we can bump priority.

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

Thanks @MattGal

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@ViktorHofer can you help answer that?

@ViktorHofer

Copy link
Copy Markdown
Member

I know that none of our tools rely on it but maybe @wfurt's dashboard?

@MattGal

Copy link
Copy Markdown
Member

I also expect, while this is a seeming bug in the azure-storage-blob python SDK, this specific failure is going to be pretty rare. Either way, if you actively use and want the Kusto XUnit support I'd appreciate a quick comment in dotnet/arcade#5786 for when we discuss it at Thursday's triage.

@wfurt

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

@MattGal

MattGal commented Jul 14, 2020

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

If you like Xunit Facts in your kusto, you like xunit-reporter.py. Some folks on our team less enthusiastic about it because it can be quite expensive to put that much into Kusto. If you just care about work items and their exit codes, you don't care about the reporter. Ping me on Teams or a quick call if you want to go deeper.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

ping @Anipik

@danmoseley
danmoseley merged commit ee41d4a into dotnet:masterJul 15, 2020
@danmoseley
danmoseley deleted the svctests branch July 15, 2020 00:33
@karelzkarelz added this to the 5.0.0 milestone Aug 18, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
@danmoseley
danmoseley restored the svctests branch December 22, 2020 05:07
@danmoseley
danmoseley deleted the svctests branch September 30, 2022 16:36
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0)

7 participants

@danmoseley@MattGal@ViktorHofer@wfurt@Anipik@karelz@Dotnet-GitSync-Bot
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Fix TestOnStartWithArgsThenStop and make service tests more reliable - #39153

Merged
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests
Jul 15, 2020
Merged

Fix TestOnStartWithArgsThenStop and make service tests more reliable#39153
danmoseley merged 3 commits into
dotnet:masterfrom
danmoseley:svctests

Conversation

@danmoseley

@danmoseleydanmoseley commented Jul 12, 2020

Copy link
Copy Markdown
Contributor

Fixes#38945

There were two bugs

  1. Test service does not mutually synchronize connect and start messages, but one of the test expects them to be ordered. This is the cause of the failure. I experimented with making the start message write a continuation of the connect message write, but this problem only occurs for these two messages. All other messages can be handled sequentially, because the test can wait on the matching SCM status. The simplest approach is simply to recognize these messages are unordered and allow either ordering in the test.

  2. Test service did not wait for the client to connect before writing to the pipe. This was because when test services are being torn down, the test service installer will issue the Stop command to the service via the SCM, which will cause the test service to write a stop message to the pipe, which no longer has a client planning to connect to it, so in a previous change we stopped waiting on the connection, introducing flakiness. Fix: wait on the client connection, unless the message is a stop message. (Tests that may wait on a stop message all wait on some previous message before it, so the test service will always have a pipe when it writes to such tests.)

Using a debugger to figure out what is happening is painful because of the various threads and processes. Tracing is far more convenient and useful. I added a bunch of tracing to the test code. With luck this is the last timing problem in these tests, but we've had a series of such problems so I've left the tracing in for next time, disabled by default.

Also added a comment about Dispose, which was confusing.

@MattGal

MattGal commented Jul 13, 2020

Copy link
Copy Markdown
Member

@danmosemsft ah I see "upload" in this context means AzDO reporting and XUnit reporting (which is done in the context of the workitem) and it indeed seems to have hung inside the Azure Python SDK. I'll create an issue for this on the arcade backlog; if you see a bunch more please let me know and we can bump priority.

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

Thanks @MattGal

If you're not actively using XUnit result ingestion in Kusto, you could remove usage of xunit-reporter.py entirely by flipping a build property bool; let me know if you want to talk about that.

@ViktorHofer can you help answer that?

@ViktorHofer

Copy link
Copy Markdown
Member

I know that none of our tools rely on it but maybe @wfurt's dashboard?

@MattGal

Copy link
Copy Markdown
Member

I also expect, while this is a seeming bug in the azure-storage-blob python SDK, this specific failure is going to be pretty rare. Either way, if you actively use and want the Kusto XUnit support I'd appreciate a quick comment in dotnet/arcade#5786 for when we discuss it at Thursday's triage.

@wfurt

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

@MattGal

MattGal commented Jul 14, 2020

Copy link
Copy Markdown
Member

I may not understand the comment properly @MattGal. I don't think we care about the reporter but we do use test results from Kusto. For dashboard as well as @alnikola put together process to monitor and analyze test failures so we can stay on top of them. This is also handy for trends and closing old test failures.
cc: @karelz

If you like Xunit Facts in your kusto, you like xunit-reporter.py. Some folks on our team less enthusiastic about it because it can be quite expensive to put that much into Kusto. If you just care about work items and their exit codes, you don't care about the reporter. Ping me on Teams or a quick call if you want to go deeper.

@danmoseley

Copy link
Copy Markdown
ContributorAuthor

ping @Anipik

@danmoseley
danmoseley merged commit ee41d4a into dotnet:masterJul 15, 2020
@danmoseley
danmoseley deleted the svctests branch July 15, 2020 00:33
@karelzkarelz added this to the 5.0.0 milestone Aug 18, 2020
@ghostghost locked as resolved and limited conversation to collaborators Dec 8, 2020
@danmoseley
danmoseley restored the svctests branch December 22, 2020 05:07
@danmoseley
danmoseley deleted the svctests branch September 30, 2022 16:36
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0)

7 participants

@danmoseley@MattGal@ViktorHofer@wfurt@Anipik@karelz@Dotnet-GitSync-Bot