# Testing changes to a plugin

**URL:** <https://racket.discourse.group/t/testing-changes-to-a-plugin/2364>\
**Category:** Questions & Answers\
**Tags:** contributing\
**Created:** [October 5, 2023, 1:02am UTC](https://racket.discourse.group/t/testing-changes-to-a-plugin/2364 "2023-10-05T01:02:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [October 5, 2023, 1:02am UTC](https://racket.discourse.group/t/testing-changes-to-a-plugin/2364/1 "2023-10-05T01:02:04Z")

</div>

I'm finally getting round to [submitting changes](https://github.com/Metaxal/quickscript/pull/72) to the [quickscript](https://docs.racket-lang.org/quickscript/index.html) plugin that is included in Dr Racket.

My guide to doing this is usually [Tutorial: Contributing to Racket](https://blog.racket-lang.org/2017/09/tutorial-contributing-to-Racket.html) on the [Racket Blog](https://blog.racket-lang.org/)

I used `raco pkg update --deps fail --link --scope installation --type dir <my quickscriptdir>` and it seemed to update nicely, but sadly the plugin fails (error below) when I launch DrRacket.

I'm sure I've missed something simple but it's late and I can work it out. Any guidance or advice greatly appreciated.

Best regards  
Stephen

error:

```scheme
Error invoking tool #<path:/Users/stephendegabrielle/Documents/GitHub/quickscript/>;("tool.rkt")

mixin: method was referenced in definition, but is not in any of the from-interfaces
  method name: after-create-new-drracket-frame
  from-interfaces:
   #<interface:unit:frame<%>>
  context...:
   /Applications/Racket v8.10/collects/racket/private/class-internal.rkt:4728:0: obj-error
   /Applications/Racket v8.10/collects/racket/private/class-internal.rkt:4826:0: check-interface-includes
   /Users/stephendegabrielle/Documents/GitHub/quickscript/tool.rkt:99:2
   /Applications/Racket v8.10/share/pkgs/drracket/drracket/private/tools.rkt:318:4
   /Applications/Racket v8.10/share/pkgs/drracket/drracket/private/tools.rkt:72:0: load/invoke-all-tools
   .../unit/lang.rkt:84:9
   /Applications/Racket v8.10/share/pkgs/drracket/drracket/private/link.rkt:57:0
   body of "/Applications/Racket v8.10/share/pkgs/drracket/drracket/tool-lib.rkt"
   body of "/Applications/Racket v8.10/share/pkgs/drracket/drracket/private/drracket-normal.rkt"
   body of "/Applications/Racket v8.10/share/pkgs/drracket/drracket/drracket.rkt"

```

---

<div class="post-metadata">

**Author:** ![robby](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/robby/32/7_2.png) [@robby](https://racket.discourse.group/u/robby)\
**Post date:** [October 5, 2023, 1:15am UTC](https://racket.discourse.group/t/testing-changes-to-a-plugin/2364/2 "2023-10-05T01:15:32Z")

</div>

I think you need a newer version of Racket. The git version of quickscript depends on some stuff that's in the git version of DrRacket. The simplest thing (on a non-windows machine) might be to git clone the racket/racket repo and do "make" at the top-level, get some coffee, and then come back. Then a `raco update --clone quickscript` (usually done in the `extra-pkgs` dir that you've created inside your checkout of racket) will get you a directory you can run usual git commands in.

hth!

---

<div class="post-metadata">

**Author:** ![spdegabrielle](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/spdegabrielle/32/95_2.png) [@spdegabrielle](https://racket.discourse.group/u/spdegabrielle)\
**Post date:** [October 7, 2023, 12:13pm UTC](https://racket.discourse.group/t/testing-changes-to-a-plugin/2364/3 "2023-10-07T12:13:16Z")

</div>

Thanks @robby

You advice worked perfectly

But to provide a little more details, and invite criticism in case there is a better way.

1. used GitHub desktop to get a copy of the latest Racket repo on my machine (I'm sure there is a git command but I'm lazy)
2. ran `make`
3. ran DrRacket to configure the path for the new install (I'm still lazy)
4. Opened a new terminal in the new `racket` folders
5. ran `raco pkg update --clone extra-pkgs/quickscript`
6. copied the changes from my fork/branch to `racket/extra-pkgs/quickscript` (I'm sure there is a way to do this with git but I'm still lazy)
7. Open DrRacket, menu: Scripts\>compile
8. Scripts eyes
9. Declare that my changes are tested

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/c/ca899b1c9c2a29200b25ec4b963d00b8f8669f0c.jpeg)
