Skip to content

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

Open
shhyou wants to merge 2 commits into
racket:masterfrom
shhyou:remove-htdp-tests
Open

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

Conversation

@shhyou

@shhyou shhyou commented Apr 28, 2026

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

shhyou commented Apr 28, 2026

Copy link
Copy Markdown
Collaborator Author

@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

shhyou commented Apr 28, 2026

Copy link
Copy Markdown
Collaborator Author

@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.

@shhyou
shhyou force-pushed the remove-htdp-tests branch from 72d5108 to 99744d4 Compare August 5, 2026 07:44
@shhyou
shhyou force-pushed the remove-htdp-tests branch from 99744d4 to 008f3b1 Compare August 5, 2026 07:44
github-actions[bot]

This comment was marked as resolved.

github-actions[bot]

This comment was marked as resolved.

@mikesperber mikesperber 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
Collaborator Author

@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 github-actions Bot 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.

@rfindler

rfindler commented Aug 6, 2026

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
Collaborator Author

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-drracket and htdp-test, they don't affect normal installation flow.

Sign up for free to 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