Move some HtDP (test engine) tests to racket/htdp - #808

Merged
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Aug 6, 2026
Merged

Move some HtDP (test engine) tests to racket/htdp#808
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests

Conversation

@shhyou

Copy link
Copy Markdown
Collaborator

It'd help to run the test-engine tests with CI whenever Test Engine is updated in racket/htdp, plus there are quite a few HtDP tests in module-lang-tests.rkt. This PR moves them to racket/htdp.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

Ah, shoot! I was just fixing the module-lang tests this morning and should have read this PR first! My mistake. I'll adjust.

@mfelleisen

Copy link
Copy Markdown
Contributor

Why are we moving these tests?

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@mfelleisen The moved tests are mainly affected by HtDP updates, so I think it would be better if HtDP CI runs them. Right now, DrDr is the only place that runs all of them, and these HtDP tests aren't checked by Github CI in racket/htdp.

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@rfindler no worries! I put the first commit in #807 (which is roughly the same as yours) so DrDr can be happy, while the current one (#808) still need some time until the HtDP PR is ready.

github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shhyou What's the motivation for this?

These are essentially integration tests for teaching-languages-on-DrRacket. I'd like to gradually remove the DrRacket dependencies from the HtDP/DeinProgramm packages, but this goes in the opposite direction.

@shhyou

shhyou commented Aug 5, 2026

Copy link
Copy Markdown
CollaboratorAuthor

@mikesperber I just opened racket/htdp#264. In summary, I place the integration tests in a standalone package htdp-drracket-test that is separated from both htdp-test and drracket-test. The reason to keep it in racket/htdp is to run the tests for each push to racket/htdp, without having to wait for a full DrDr build.

I consider having full HtDP-DrRacket integration tests useful because there are too many parameters to correctly set up (and I don't know if there will be more in the future). For example, in racket/htdp@e6b79368c I found that the tests didn't check HtDP error messages because of a missing call to configure, and in racket/htdp@dc985b3cc I found that the tests were using Racket bindings instead of *SL bindings--the #%top binding is still wrong. The tests I added in #689 validate that DrRacket highlights check-expect in the Definitions window, and I don't know how to do it without DrRacket. In racket/htdp#229, it also mattered whether the DrRacket buffer was saved or not, which produced different error messages.

I agree that some tests in racket/htdp#264 may not need DrRacket integration. Still, I think running existing HtDP-DrRacket tests for every push to racket/htdp help catch regressions early, which is the goal of racket/htdp#264 and the current PR.

@shhyou
shhyou marked this pull request as ready for review August 5, 2026 08:38
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

One thought, @shhyou : would it be helpful to have more of the htdp tests into the drracket repo CI? Not sure if that's useful, but I'm certainly open to the idea.

@shhyou

shhyou commented Aug 6, 2026

Copy link
Copy Markdown
CollaboratorAuthor

The HtDP (integration) tests here are already in DrRacket CI and get triggered on each push to racket/drracket. In contrast, I think there are two advantages for placing HtDP tests in racket/htdp:

  • Automatically run them for each push to racket/htdp and associate the testing results to each commit to the HtDP repository
  • Include code updates and tests in a single PR/commit (without having to make two separate commits in two repositories

Also, since the integration tests are in htdp-drracket-test which is separated from htdp-lib and htdp-test, they don't affect normal installation flow.

@mikesperber

Copy link
Copy Markdown
Member

Ah, excellent. Thanks for explaining, @shhyou !

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead!

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resyntax analyzed 0 files in this pull request and found no issues.

@shhyou
shhyou merged commit fa8a2df into racket:masterAug 6, 2026
2 checks passed
@shhyou
shhyou deleted the remove-htdp-tests branch August 11, 2026 02:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@shhyou@rfindler@mfelleisen@mikesperber
, '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

Move some HtDP (test engine) tests to racket/htdp - #808

Merged
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Aug 6, 2026
Merged

Move some HtDP (test engine) tests to racket/htdp#808
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests

Conversation

@shhyou

Copy link
Copy Markdown
Collaborator

It'd help to run the test-engine tests with CI whenever Test Engine is updated in racket/htdp, plus there are quite a few HtDP tests in module-lang-tests.rkt. This PR moves them to racket/htdp.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

Ah, shoot! I was just fixing the module-lang tests this morning and should have read this PR first! My mistake. I'll adjust.

@mfelleisen

Copy link
Copy Markdown
Contributor

Why are we moving these tests?

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@mfelleisen The moved tests are mainly affected by HtDP updates, so I think it would be better if HtDP CI runs them. Right now, DrDr is the only place that runs all of them, and these HtDP tests aren't checked by Github CI in racket/htdp.

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@rfindler no worries! I put the first commit in #807 (which is roughly the same as yours) so DrDr can be happy, while the current one (#808) still need some time until the HtDP PR is ready.

github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shhyou What's the motivation for this?

These are essentially integration tests for teaching-languages-on-DrRacket. I'd like to gradually remove the DrRacket dependencies from the HtDP/DeinProgramm packages, but this goes in the opposite direction.

@shhyou

shhyou commented Aug 5, 2026

Copy link
Copy Markdown
CollaboratorAuthor

@mikesperber I just opened racket/htdp#264. In summary, I place the integration tests in a standalone package htdp-drracket-test that is separated from both htdp-test and drracket-test. The reason to keep it in racket/htdp is to run the tests for each push to racket/htdp, without having to wait for a full DrDr build.

I consider having full HtDP-DrRacket integration tests useful because there are too many parameters to correctly set up (and I don't know if there will be more in the future). For example, in racket/htdp@e6b79368c I found that the tests didn't check HtDP error messages because of a missing call to configure, and in racket/htdp@dc985b3cc I found that the tests were using Racket bindings instead of *SL bindings--the #%top binding is still wrong. The tests I added in #689 validate that DrRacket highlights check-expect in the Definitions window, and I don't know how to do it without DrRacket. In racket/htdp#229, it also mattered whether the DrRacket buffer was saved or not, which produced different error messages.

I agree that some tests in racket/htdp#264 may not need DrRacket integration. Still, I think running existing HtDP-DrRacket tests for every push to racket/htdp help catch regressions early, which is the goal of racket/htdp#264 and the current PR.

@shhyou
shhyou marked this pull request as ready for review August 5, 2026 08:38
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

One thought, @shhyou : would it be helpful to have more of the htdp tests into the drracket repo CI? Not sure if that's useful, but I'm certainly open to the idea.

@shhyou

shhyou commented Aug 6, 2026

Copy link
Copy Markdown
CollaboratorAuthor

The HtDP (integration) tests here are already in DrRacket CI and get triggered on each push to racket/drracket. In contrast, I think there are two advantages for placing HtDP tests in racket/htdp:

  • Automatically run them for each push to racket/htdp and associate the testing results to each commit to the HtDP repository
  • Include code updates and tests in a single PR/commit (without having to make two separate commits in two repositories

Also, since the integration tests are in htdp-drracket-test which is separated from htdp-lib and htdp-test, they don't affect normal installation flow.

@mikesperber

Copy link
Copy Markdown
Member

Ah, excellent. Thanks for explaining, @shhyou !

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead!

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resyntax analyzed 0 files in this pull request and found no issues.

@shhyou
shhyou merged commit fa8a2df into racket:masterAug 6, 2026
2 checks passed
@shhyou
shhyou deleted the remove-htdp-tests branch August 11, 2026 02:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@shhyou@rfindler@mfelleisen@mikesperber
, '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

Move some HtDP (test engine) tests to racket/htdp - #808

Merged
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Aug 6, 2026
Merged

Move some HtDP (test engine) tests to racket/htdp#808
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests

Conversation

@shhyou

Copy link
Copy Markdown
Collaborator

It'd help to run the test-engine tests with CI whenever Test Engine is updated in racket/htdp, plus there are quite a few HtDP tests in module-lang-tests.rkt. This PR moves them to racket/htdp.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

Ah, shoot! I was just fixing the module-lang tests this morning and should have read this PR first! My mistake. I'll adjust.

@mfelleisen

Copy link
Copy Markdown
Contributor

Why are we moving these tests?

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@mfelleisen The moved tests are mainly affected by HtDP updates, so I think it would be better if HtDP CI runs them. Right now, DrDr is the only place that runs all of them, and these HtDP tests aren't checked by Github CI in racket/htdp.

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@rfindler no worries! I put the first commit in #807 (which is roughly the same as yours) so DrDr can be happy, while the current one (#808) still need some time until the HtDP PR is ready.

github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shhyou What's the motivation for this?

These are essentially integration tests for teaching-languages-on-DrRacket. I'd like to gradually remove the DrRacket dependencies from the HtDP/DeinProgramm packages, but this goes in the opposite direction.

@shhyou

shhyou commented Aug 5, 2026

Copy link
Copy Markdown
CollaboratorAuthor

@mikesperber I just opened racket/htdp#264. In summary, I place the integration tests in a standalone package htdp-drracket-test that is separated from both htdp-test and drracket-test. The reason to keep it in racket/htdp is to run the tests for each push to racket/htdp, without having to wait for a full DrDr build.

I consider having full HtDP-DrRacket integration tests useful because there are too many parameters to correctly set up (and I don't know if there will be more in the future). For example, in racket/htdp@e6b79368c I found that the tests didn't check HtDP error messages because of a missing call to configure, and in racket/htdp@dc985b3cc I found that the tests were using Racket bindings instead of *SL bindings--the #%top binding is still wrong. The tests I added in #689 validate that DrRacket highlights check-expect in the Definitions window, and I don't know how to do it without DrRacket. In racket/htdp#229, it also mattered whether the DrRacket buffer was saved or not, which produced different error messages.

I agree that some tests in racket/htdp#264 may not need DrRacket integration. Still, I think running existing HtDP-DrRacket tests for every push to racket/htdp help catch regressions early, which is the goal of racket/htdp#264 and the current PR.

@shhyou
shhyou marked this pull request as ready for review August 5, 2026 08:38
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

One thought, @shhyou : would it be helpful to have more of the htdp tests into the drracket repo CI? Not sure if that's useful, but I'm certainly open to the idea.

@shhyou

shhyou commented Aug 6, 2026

Copy link
Copy Markdown
CollaboratorAuthor

The HtDP (integration) tests here are already in DrRacket CI and get triggered on each push to racket/drracket. In contrast, I think there are two advantages for placing HtDP tests in racket/htdp:

  • Automatically run them for each push to racket/htdp and associate the testing results to each commit to the HtDP repository
  • Include code updates and tests in a single PR/commit (without having to make two separate commits in two repositories

Also, since the integration tests are in htdp-drracket-test which is separated from htdp-lib and htdp-test, they don't affect normal installation flow.

@mikesperber

Copy link
Copy Markdown
Member

Ah, excellent. Thanks for explaining, @shhyou !

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead!

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resyntax analyzed 0 files in this pull request and found no issues.

@shhyou
shhyou merged commit fa8a2df into racket:masterAug 6, 2026
2 checks passed
@shhyou
shhyou deleted the remove-htdp-tests branch August 11, 2026 02:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@shhyou@rfindler@mfelleisen@mikesperber
, '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

Move some HtDP (test engine) tests to racket/htdp - #808

Merged
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Aug 6, 2026
Merged

Move some HtDP (test engine) tests to racket/htdp#808
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests

Conversation

@shhyou

Copy link
Copy Markdown
Collaborator

It'd help to run the test-engine tests with CI whenever Test Engine is updated in racket/htdp, plus there are quite a few HtDP tests in module-lang-tests.rkt. This PR moves them to racket/htdp.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

Ah, shoot! I was just fixing the module-lang tests this morning and should have read this PR first! My mistake. I'll adjust.

@mfelleisen

Copy link
Copy Markdown
Contributor

Why are we moving these tests?

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@mfelleisen The moved tests are mainly affected by HtDP updates, so I think it would be better if HtDP CI runs them. Right now, DrDr is the only place that runs all of them, and these HtDP tests aren't checked by Github CI in racket/htdp.

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@rfindler no worries! I put the first commit in #807 (which is roughly the same as yours) so DrDr can be happy, while the current one (#808) still need some time until the HtDP PR is ready.

github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shhyou What's the motivation for this?

These are essentially integration tests for teaching-languages-on-DrRacket. I'd like to gradually remove the DrRacket dependencies from the HtDP/DeinProgramm packages, but this goes in the opposite direction.

@shhyou

shhyou commented Aug 5, 2026

Copy link
Copy Markdown
CollaboratorAuthor

@mikesperber I just opened racket/htdp#264. In summary, I place the integration tests in a standalone package htdp-drracket-test that is separated from both htdp-test and drracket-test. The reason to keep it in racket/htdp is to run the tests for each push to racket/htdp, without having to wait for a full DrDr build.

I consider having full HtDP-DrRacket integration tests useful because there are too many parameters to correctly set up (and I don't know if there will be more in the future). For example, in racket/htdp@e6b79368c I found that the tests didn't check HtDP error messages because of a missing call to configure, and in racket/htdp@dc985b3cc I found that the tests were using Racket bindings instead of *SL bindings--the #%top binding is still wrong. The tests I added in #689 validate that DrRacket highlights check-expect in the Definitions window, and I don't know how to do it without DrRacket. In racket/htdp#229, it also mattered whether the DrRacket buffer was saved or not, which produced different error messages.

I agree that some tests in racket/htdp#264 may not need DrRacket integration. Still, I think running existing HtDP-DrRacket tests for every push to racket/htdp help catch regressions early, which is the goal of racket/htdp#264 and the current PR.

@shhyou
shhyou marked this pull request as ready for review August 5, 2026 08:38
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

One thought, @shhyou : would it be helpful to have more of the htdp tests into the drracket repo CI? Not sure if that's useful, but I'm certainly open to the idea.

@shhyou

shhyou commented Aug 6, 2026

Copy link
Copy Markdown
CollaboratorAuthor

The HtDP (integration) tests here are already in DrRacket CI and get triggered on each push to racket/drracket. In contrast, I think there are two advantages for placing HtDP tests in racket/htdp:

  • Automatically run them for each push to racket/htdp and associate the testing results to each commit to the HtDP repository
  • Include code updates and tests in a single PR/commit (without having to make two separate commits in two repositories

Also, since the integration tests are in htdp-drracket-test which is separated from htdp-lib and htdp-test, they don't affect normal installation flow.

@mikesperber

Copy link
Copy Markdown
Member

Ah, excellent. Thanks for explaining, @shhyou !

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead!

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resyntax analyzed 0 files in this pull request and found no issues.

@shhyou
shhyou merged commit fa8a2df into racket:masterAug 6, 2026
2 checks passed
@shhyou
shhyou deleted the remove-htdp-tests branch August 11, 2026 02:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@shhyou@rfindler@mfelleisen@mikesperber
, '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

Move some HtDP (test engine) tests to racket/htdp - #808

Merged
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Aug 6, 2026
Merged

Move some HtDP (test engine) tests to racket/htdp#808
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests

Conversation

@shhyou

Copy link
Copy Markdown
Collaborator

It'd help to run the test-engine tests with CI whenever Test Engine is updated in racket/htdp, plus there are quite a few HtDP tests in module-lang-tests.rkt. This PR moves them to racket/htdp.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

Ah, shoot! I was just fixing the module-lang tests this morning and should have read this PR first! My mistake. I'll adjust.

@mfelleisen

Copy link
Copy Markdown
Contributor

Why are we moving these tests?

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@mfelleisen The moved tests are mainly affected by HtDP updates, so I think it would be better if HtDP CI runs them. Right now, DrDr is the only place that runs all of them, and these HtDP tests aren't checked by Github CI in racket/htdp.

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@rfindler no worries! I put the first commit in #807 (which is roughly the same as yours) so DrDr can be happy, while the current one (#808) still need some time until the HtDP PR is ready.

github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shhyou What's the motivation for this?

These are essentially integration tests for teaching-languages-on-DrRacket. I'd like to gradually remove the DrRacket dependencies from the HtDP/DeinProgramm packages, but this goes in the opposite direction.

@shhyou

shhyou commented Aug 5, 2026

Copy link
Copy Markdown
CollaboratorAuthor

@mikesperber I just opened racket/htdp#264. In summary, I place the integration tests in a standalone package htdp-drracket-test that is separated from both htdp-test and drracket-test. The reason to keep it in racket/htdp is to run the tests for each push to racket/htdp, without having to wait for a full DrDr build.

I consider having full HtDP-DrRacket integration tests useful because there are too many parameters to correctly set up (and I don't know if there will be more in the future). For example, in racket/htdp@e6b79368c I found that the tests didn't check HtDP error messages because of a missing call to configure, and in racket/htdp@dc985b3cc I found that the tests were using Racket bindings instead of *SL bindings--the #%top binding is still wrong. The tests I added in #689 validate that DrRacket highlights check-expect in the Definitions window, and I don't know how to do it without DrRacket. In racket/htdp#229, it also mattered whether the DrRacket buffer was saved or not, which produced different error messages.

I agree that some tests in racket/htdp#264 may not need DrRacket integration. Still, I think running existing HtDP-DrRacket tests for every push to racket/htdp help catch regressions early, which is the goal of racket/htdp#264 and the current PR.

@shhyou
shhyou marked this pull request as ready for review August 5, 2026 08:38
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

One thought, @shhyou : would it be helpful to have more of the htdp tests into the drracket repo CI? Not sure if that's useful, but I'm certainly open to the idea.

@shhyou

shhyou commented Aug 6, 2026

Copy link
Copy Markdown
CollaboratorAuthor

The HtDP (integration) tests here are already in DrRacket CI and get triggered on each push to racket/drracket. In contrast, I think there are two advantages for placing HtDP tests in racket/htdp:

  • Automatically run them for each push to racket/htdp and associate the testing results to each commit to the HtDP repository
  • Include code updates and tests in a single PR/commit (without having to make two separate commits in two repositories

Also, since the integration tests are in htdp-drracket-test which is separated from htdp-lib and htdp-test, they don't affect normal installation flow.

@mikesperber

Copy link
Copy Markdown
Member

Ah, excellent. Thanks for explaining, @shhyou !

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead!

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resyntax analyzed 0 files in this pull request and found no issues.

@shhyou
shhyou merged commit fa8a2df into racket:masterAug 6, 2026
2 checks passed
@shhyou
shhyou deleted the remove-htdp-tests branch August 11, 2026 02:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@shhyou@rfindler@mfelleisen@mikesperber
, '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

Move some HtDP (test engine) tests to racket/htdp - #808

Merged
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Aug 6, 2026
Merged

Move some HtDP (test engine) tests to racket/htdp#808
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests

Conversation

@shhyou

Copy link
Copy Markdown
Collaborator

It'd help to run the test-engine tests with CI whenever Test Engine is updated in racket/htdp, plus there are quite a few HtDP tests in module-lang-tests.rkt. This PR moves them to racket/htdp.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

Ah, shoot! I was just fixing the module-lang tests this morning and should have read this PR first! My mistake. I'll adjust.

@mfelleisen

Copy link
Copy Markdown
Contributor

Why are we moving these tests?

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@mfelleisen The moved tests are mainly affected by HtDP updates, so I think it would be better if HtDP CI runs them. Right now, DrDr is the only place that runs all of them, and these HtDP tests aren't checked by Github CI in racket/htdp.

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@rfindler no worries! I put the first commit in #807 (which is roughly the same as yours) so DrDr can be happy, while the current one (#808) still need some time until the HtDP PR is ready.

github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shhyou What's the motivation for this?

These are essentially integration tests for teaching-languages-on-DrRacket. I'd like to gradually remove the DrRacket dependencies from the HtDP/DeinProgramm packages, but this goes in the opposite direction.

@shhyou

shhyou commented Aug 5, 2026

Copy link
Copy Markdown
CollaboratorAuthor

@mikesperber I just opened racket/htdp#264. In summary, I place the integration tests in a standalone package htdp-drracket-test that is separated from both htdp-test and drracket-test. The reason to keep it in racket/htdp is to run the tests for each push to racket/htdp, without having to wait for a full DrDr build.

I consider having full HtDP-DrRacket integration tests useful because there are too many parameters to correctly set up (and I don't know if there will be more in the future). For example, in racket/htdp@e6b79368c I found that the tests didn't check HtDP error messages because of a missing call to configure, and in racket/htdp@dc985b3cc I found that the tests were using Racket bindings instead of *SL bindings--the #%top binding is still wrong. The tests I added in #689 validate that DrRacket highlights check-expect in the Definitions window, and I don't know how to do it without DrRacket. In racket/htdp#229, it also mattered whether the DrRacket buffer was saved or not, which produced different error messages.

I agree that some tests in racket/htdp#264 may not need DrRacket integration. Still, I think running existing HtDP-DrRacket tests for every push to racket/htdp help catch regressions early, which is the goal of racket/htdp#264 and the current PR.

@shhyou
shhyou marked this pull request as ready for review August 5, 2026 08:38
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

One thought, @shhyou : would it be helpful to have more of the htdp tests into the drracket repo CI? Not sure if that's useful, but I'm certainly open to the idea.

@shhyou

shhyou commented Aug 6, 2026

Copy link
Copy Markdown
CollaboratorAuthor

The HtDP (integration) tests here are already in DrRacket CI and get triggered on each push to racket/drracket. In contrast, I think there are two advantages for placing HtDP tests in racket/htdp:

  • Automatically run them for each push to racket/htdp and associate the testing results to each commit to the HtDP repository
  • Include code updates and tests in a single PR/commit (without having to make two separate commits in two repositories

Also, since the integration tests are in htdp-drracket-test which is separated from htdp-lib and htdp-test, they don't affect normal installation flow.

@mikesperber

Copy link
Copy Markdown
Member

Ah, excellent. Thanks for explaining, @shhyou !

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead!

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resyntax analyzed 0 files in this pull request and found no issues.

@shhyou
shhyou merged commit fa8a2df into racket:masterAug 6, 2026
2 checks passed
@shhyou
shhyou deleted the remove-htdp-tests branch August 11, 2026 02:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@shhyou@rfindler@mfelleisen@mikesperber
, '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

Move some HtDP (test engine) tests to racket/htdp - #808

Merged
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Aug 6, 2026
Merged

Move some HtDP (test engine) tests to racket/htdp#808
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests

Conversation

@shhyou

Copy link
Copy Markdown
Collaborator

It'd help to run the test-engine tests with CI whenever Test Engine is updated in racket/htdp, plus there are quite a few HtDP tests in module-lang-tests.rkt. This PR moves them to racket/htdp.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

Ah, shoot! I was just fixing the module-lang tests this morning and should have read this PR first! My mistake. I'll adjust.

@mfelleisen

Copy link
Copy Markdown
Contributor

Why are we moving these tests?

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@mfelleisen The moved tests are mainly affected by HtDP updates, so I think it would be better if HtDP CI runs them. Right now, DrDr is the only place that runs all of them, and these HtDP tests aren't checked by Github CI in racket/htdp.

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@rfindler no worries! I put the first commit in #807 (which is roughly the same as yours) so DrDr can be happy, while the current one (#808) still need some time until the HtDP PR is ready.

github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shhyou What's the motivation for this?

These are essentially integration tests for teaching-languages-on-DrRacket. I'd like to gradually remove the DrRacket dependencies from the HtDP/DeinProgramm packages, but this goes in the opposite direction.

@shhyou

shhyou commented Aug 5, 2026

Copy link
Copy Markdown
CollaboratorAuthor

@mikesperber I just opened racket/htdp#264. In summary, I place the integration tests in a standalone package htdp-drracket-test that is separated from both htdp-test and drracket-test. The reason to keep it in racket/htdp is to run the tests for each push to racket/htdp, without having to wait for a full DrDr build.

I consider having full HtDP-DrRacket integration tests useful because there are too many parameters to correctly set up (and I don't know if there will be more in the future). For example, in racket/htdp@e6b79368c I found that the tests didn't check HtDP error messages because of a missing call to configure, and in racket/htdp@dc985b3cc I found that the tests were using Racket bindings instead of *SL bindings--the #%top binding is still wrong. The tests I added in #689 validate that DrRacket highlights check-expect in the Definitions window, and I don't know how to do it without DrRacket. In racket/htdp#229, it also mattered whether the DrRacket buffer was saved or not, which produced different error messages.

I agree that some tests in racket/htdp#264 may not need DrRacket integration. Still, I think running existing HtDP-DrRacket tests for every push to racket/htdp help catch regressions early, which is the goal of racket/htdp#264 and the current PR.

@shhyou
shhyou marked this pull request as ready for review August 5, 2026 08:38
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

One thought, @shhyou : would it be helpful to have more of the htdp tests into the drracket repo CI? Not sure if that's useful, but I'm certainly open to the idea.

@shhyou

shhyou commented Aug 6, 2026

Copy link
Copy Markdown
CollaboratorAuthor

The HtDP (integration) tests here are already in DrRacket CI and get triggered on each push to racket/drracket. In contrast, I think there are two advantages for placing HtDP tests in racket/htdp:

  • Automatically run them for each push to racket/htdp and associate the testing results to each commit to the HtDP repository
  • Include code updates and tests in a single PR/commit (without having to make two separate commits in two repositories

Also, since the integration tests are in htdp-drracket-test which is separated from htdp-lib and htdp-test, they don't affect normal installation flow.

@mikesperber

Copy link
Copy Markdown
Member

Ah, excellent. Thanks for explaining, @shhyou !

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead!

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resyntax analyzed 0 files in this pull request and found no issues.

@shhyou
shhyou merged commit fa8a2df into racket:masterAug 6, 2026
2 checks passed
@shhyou
shhyou deleted the remove-htdp-tests branch August 11, 2026 02:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@shhyou@rfindler@mfelleisen@mikesperber
, '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

Move some HtDP (test engine) tests to racket/htdp - #808

Merged
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Aug 6, 2026
Merged

Move some HtDP (test engine) tests to racket/htdp#808
shhyou merged 3 commits into
racket:masterfrom
shhyou:remove-htdp-tests

Conversation

@shhyou

Copy link
Copy Markdown
Collaborator

It'd help to run the test-engine tests with CI whenever Test Engine is updated in racket/htdp, plus there are quite a few HtDP tests in module-lang-tests.rkt. This PR moves them to racket/htdp.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

Ah, shoot! I was just fixing the module-lang tests this morning and should have read this PR first! My mistake. I'll adjust.

@mfelleisen

Copy link
Copy Markdown
Contributor

Why are we moving these tests?

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@mfelleisen The moved tests are mainly affected by HtDP updates, so I think it would be better if HtDP CI runs them. Right now, DrDr is the only place that runs all of them, and these HtDP tests aren't checked by Github CI in racket/htdp.

@shhyou

Copy link
Copy Markdown
CollaboratorAuthor

@rfindler no worries! I put the first commit in #807 (which is roughly the same as yours) so DrDr can be happy, while the current one (#808) still need some time until the HtDP PR is ready.

github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shhyou What's the motivation for this?

These are essentially integration tests for teaching-languages-on-DrRacket. I'd like to gradually remove the DrRacket dependencies from the HtDP/DeinProgramm packages, but this goes in the opposite direction.

@shhyou

shhyou commented Aug 5, 2026

Copy link
Copy Markdown
CollaboratorAuthor

@mikesperber I just opened racket/htdp#264. In summary, I place the integration tests in a standalone package htdp-drracket-test that is separated from both htdp-test and drracket-test. The reason to keep it in racket/htdp is to run the tests for each push to racket/htdp, without having to wait for a full DrDr build.

I consider having full HtDP-DrRacket integration tests useful because there are too many parameters to correctly set up (and I don't know if there will be more in the future). For example, in racket/htdp@e6b79368c I found that the tests didn't check HtDP error messages because of a missing call to configure, and in racket/htdp@dc985b3cc I found that the tests were using Racket bindings instead of *SL bindings--the #%top binding is still wrong. The tests I added in #689 validate that DrRacket highlights check-expect in the Definitions window, and I don't know how to do it without DrRacket. In racket/htdp#229, it also mattered whether the DrRacket buffer was saved or not, which produced different error messages.

I agree that some tests in racket/htdp#264 may not need DrRacket integration. Still, I think running existing HtDP-DrRacket tests for every push to racket/htdp help catch regressions early, which is the goal of racket/htdp#264 and the current PR.

@shhyou
shhyou marked this pull request as ready for review August 5, 2026 08:38
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@rfindler

Copy link
Copy Markdown
Member

One thought, @shhyou : would it be helpful to have more of the htdp tests into the drracket repo CI? Not sure if that's useful, but I'm certainly open to the idea.

@shhyou

shhyou commented Aug 6, 2026

Copy link
Copy Markdown
CollaboratorAuthor

The HtDP (integration) tests here are already in DrRacket CI and get triggered on each push to racket/drracket. In contrast, I think there are two advantages for placing HtDP tests in racket/htdp:

  • Automatically run them for each push to racket/htdp and associate the testing results to each commit to the HtDP repository
  • Include code updates and tests in a single PR/commit (without having to make two separate commits in two repositories

Also, since the integration tests are in htdp-drracket-test which is separated from htdp-lib and htdp-test, they don't affect normal installation flow.

@mikesperber

Copy link
Copy Markdown
Member

Ah, excellent. Thanks for explaining, @shhyou !

@mikesperbermikesperber left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go ahead!

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resyntax analyzed 0 files in this pull request and found no issues.

@shhyou
shhyou merged commit fa8a2df into racket:masterAug 6, 2026
2 checks passed
@shhyou
shhyou deleted the remove-htdp-tests branch August 11, 2026 02:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@shhyou@rfindler@mfelleisen@mikesperber