Skip to content

verify-config: current directory is not an exercism folder when running factor -run=exercism.testing run-all #47

@petertseng

Description

@petertseng

The setup used:

I also attempted to create a ~/.exercism.json that contains {"dir": "/vagrant/exercism"} but its presence or absence makes no difference.

When I run factor -run=exercism.testing run-all while CWD is /vagrant/exercism/factor, this is what happens:

[vagrant@arch factor]$ factor -run=exercism.testing run-all
fatal: Not a git repository (or any parent up to mount point /vagrant/exercism)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
working directory OK: /vagrant/exercism/factor is a user-env 
exercism.testing: verify-config: current directory is not an exercism folder
word verify-config
(U) Quotation: [ c-to-factor => ]
    Word: c-to-factor
(U) Quotation: [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) Word: command-line-startup
(O) Word: choose-exercism-test-suite
(O) Method: M\ POSTPONE: f verify-config
(O) Word: not-an-exercism-folder
(O) Method: M\ object throw
(U) Quotation: [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

Okay, seems to understand that this is a user-env, but I could not determine from https://github.com/catb0t/exercism.factor/blob/master/exercism/config/config.factor how to convince verify-config that this is an exercism folder.

I guess I'll try the other way?

[vagrant@arch factor]$ factor
Factor 0.98 x86.64 (1854, heads/master-f976d97983, Sat Jan 27 00:50:05 2018)
[GCC 5.2.1 20151010] on linux
IN: scratchpad USING: io.directories exercism.testing ;
Loading resource:work/exercism/testing/testing.factor
Loading resource:work/exercism/exercism.factor
Loading resource:basis/http/client/client.factor
Loading resource:basis/http/http.factor
Loading resource:basis/base64/base64.factor
Loading resource:basis/base64/base64-docs.factor
Loading resource:basis/calendar/format/format.factor
Loading resource:basis/calendar/parser/parser.factor
Loading resource:basis/http/parsers/parsers.factor
Loading resource:basis/io/crlf/crlf.factor
Loading resource:basis/io/crlf/crlf-docs.factor
Loading resource:basis/mime/types/types.factor
Loading resource:basis/mime/types/types-docs.factor
Loading resource:basis/http/http-docs.factor
Loading resource:basis/http/client/post-data/post-data.factor
Loading resource:basis/http/client/post-data/post-data-docs.factor
Loading resource:basis/http/client/debugger/debugger.factor
Loading resource:basis/http/client/client-docs.factor
Loading resource:basis/json/json.factor
Loading resource:basis/json/reader/reader.factor
Loading resource:basis/json/reader/reader-docs.factor
Loading resource:basis/json/writer/writer.factor
Loading resource:basis/json/writer/writer-docs.factor
Loading resource:basis/json/json-docs.factor
Loading resource:basis/tools/scaffold/scaffold.factor
Loading resource:basis/tools/scaffold/scaffold-docs.factor
Loading resource:work/exercism/config/config.factor
fatal: Not a git repository (or any parent up to mount point /vagrant/exercism)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
resource:work/exercism/config/config.factor:2: Note:
Already using ``exercism'' vocabulary
working directory OK: /vagrant/exercism/factor is a user-env 
Loading resource:work/exercism/testing/testing-docs.factor
IN: scratchpad "." [ run-all-exercism-tests ] with-directory
exercism.testing: exercises-folder: current directory is not an exercism folder
word exercises-folder

Type :help for debugging help.
IN: scratchpad "/vagrant/exercism/factor" [ run-all-exercism-tests ] with-directory
exercism.testing: exercises-folder: current directory is not an exercism folder
word exercises-folder

Type :help for debugging help.
IN: scratchpad [vagrant@arch factor]

Well, guess I'm out of options for now. I will try again later if I gain more knowledge and therefore understand how to convince verify-config that this is in fact an exercism folder. Please excuse me if I lack the time to gain more knowledge in the near few months.

The exact Vagrantfile used:

Vagrant.configure('2') do |config|
  config.vm.box = 'ogarcia/archlinux-x64'
  # not even sure this helps
  config.vm.synced_folder ".", '/vagrant/exercism/factor'

  config.vm.provision 'shell', inline: <<-SHELL
    ln -s /vagrant/exercism/factor /home/vagrant/factor

    # Well, to get exercism.factor we will either have to get git or unzip.
    pacman -Sy --noconfirm rxvt-unicode-terminfo git

    # factor
    # https://github.com/exercism/factor/blob/master/docs/INSTALLATION.md
    # tells us we have to use a nightly build for testing.
    # Well, fine.
    # I get a link from
    # http://builds.factorcode.org/package?os=linux&cpu=x86.64
    curl -o factor.tar.gz http://downloads.factorcode.org/linux-x86-64/factor-linux-x86-64-2018-01-27-00-50.tar.gz
    sudo -u vagrant mkdir -p /home/vagrant/usr
    sudo -u vagrant tar xzf factor.tar.gz -C /home/vagrant/usr
    mv factor.tar.gz /home/vagrant/usr

    # add factor to PATH
    # coreutils installs a factor that factorises numbers.
    # So we will have to put our factor first. It's fine.
    echo 'export PATH=/home/vagrant/usr/factor/:$PATH' >> /home/vagrant/.bashrc

    # exercism.factor
    sudo -u vagrant git clone https://github.com/catb0t/exercism.factor.git
    sudo -u vagrant mkdir -p /home/vagrant/usr/factor/work
    mv exercism.factor/exercism /home/vagrant/usr/factor/work
    rm -rf exercism.factor
  SHELL
end

I plan to close this immediately to signify that I don't really need a response or anything. Feel free to give input whenever, or never.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions