Short form:  When using Dr Racket, how do I write something that says
"Here is a path to a file that I care about.  The path is relative to
you, the script that is running the code" ?

Long form:

I have a file, testing_utils.rkt, that includes the following snippet of code:

(define (load-initial-data where)
  (define cmd (string-append "psql -d biomantica < "
                             (path->string
                              (path-only
                               (path->complete-path
                                (find-system-path 'run-file))))
                             where))
  (say "shelling out in order to load initial data into DB. Command
is: \n\t" cmd)

  (void
   (with-output-to-string  ;; silence the output
     (thunk
      (system cmd)))))


The way this gets used is that one of our test scripts (e.g.
'endpoints.t') will (require "path/to/testing_utils.rkt") and then
call the load-initial-data function as follows:

(load-initial-data "../initial_test_data.sql")

I operate in Emacs via the shell, while my cofounder James uses Dr
Racket.  The above sequence works for me but not for him.  When I run
endpoints.t it locates the endpoints.t file, generates the path from
there to the initial_test_data.sql file, and shells out to run that
SQL through psql in order to load the database for testing.  When
James tries it it fails.

The failure seems to be that for me "the running script" is the
endpoints.t file, while for him it's the Dr Racket executable.  I'm
not sure where to even begin sorting this out, so I was hoping for
some help.

Any thoughts?

Dave


PS:  James had to step out for something else or he would be sending
this himself.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to