Uploaded image for project: 'Mongoid'
  1. Mongoid
  2. MONGOID-2908

Error in mongoid 3.0.0 test 'Mongoid::Criteria#aggregates when provided a single field returns an avg'

    • Type: Icon: Task Task
    • Resolution: Done
    • 12_01_17
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      I'm experiencing an error in the tests for mongoid 3.0.0. After bundle install, I'm doing bundle exec rspec spec/*/_spec.rb --no-color --fail-fast.

      $ git log
      commit eeb4a88bd77514e8aeb99866794b0d8132a0ac12
      Date:   Sat Mar 9 17:06:55 2013 -0500
      
      $ cat rspec-filtered
      Run options: exclude {:config=>#<Proc:./spec/spec_helper.rb:73>}
      Mongoid::Criteria
        #aggregates
          when provided a single field
            returns an avg (FAILED - 1)
      Failures:
        1) Mongoid::Criteria#aggregates when provided a single field returns an avg
           Failure/Error: criteria.aggregates(:likes)
           NoMethodError:
             undefined method `[]' for nil:NilClass
           # ./lib/mongoid/contextual/aggregable/mongo.rb:27:in `aggregates'
           # ./lib/mongoid/contextual.rb:10:in `aggregates'
           # ./spec/mongoid/criteria_spec.rb:149:in `block (4 levels) in <top (required)>'
           # ./spec/mongoid/criteria_spec.rb:153:in `block (4 levels) in <top (required)>'
      Finished in 16.64 seconds
      758 examples, 1 failure
      Failed examples:
      rspec ./spec/mongoid/criteria_spec.rb:152 # Mongoid::Criteria#aggregates when provided a single field returns an avg
      

      I'm using mongodb 2.0.0, the latest in Debian squeeze backports:

      $ dpkg-query -l mongodb
      mongodb 1:2.0.0-2~bpo60+1

      $ cat /etc/mongodb.conf

      1. mongodb.conf
      1. Where to store the data.
      1. Note: if you run mongodb as a non-root user (recommended) you may
      2. need to create and set permissions for this directory manually,
      3. e.g., if the parent directory isn't mutable by the mongodb user.
        dbpath=/var/lib/mongodb

      #where to log
      logpath=/var/log/mongodb/mongodb.log

      1. logappend=true
        logappend=false

      bind_ip = 127.0.0.1
      #port = 27017

      1. Enables periodic logging of CPU utilization and I/O wait
        #cpu = true
      1. Turn on/off security. Off is currently the default
        #noauth = true
        #auth = true
      1. Verbose logging output.
        #verbose = true
      1. Per http://stackoverflow.com/questions/5004626/mongod-log-file-growth
        quiet = true
      1. Inspect all client data for validity on receipt (useful for
      2. developing drivers)
        #objcheck = true
      1. Enable db quota management
        #quota = true
      1. Set oplogging level where n is
      2. 0=off (default)
      3. 1=W
      4. 2=R
      5. 3=both
      6. 7=W+some reads
        #oplog = 0
      1. Diagnostic/debugging option
        #nocursors = true
      1. Ignore query hints
        #nohints = true
      1. Disable the HTTP interface (Defaults to localhost:27018).
        #nohttpinterface = true
      1. Turns off server-side scripting. This will result in greatly limited
      2. functionality
        #noscripting = true
      1. Turns off table scans. Any query that would do a table scan fails.
        #notablescan = true
      1. Disable data file preallocation.
        noprealloc = true
      1. Specify .ns file size for new databases.
      2. nssize = <size>
        nssize = 2
      1. Accout token for Mongo monitoring server.
        #mms-token = <token>
      1. Server name for Mongo monitoring server.
        #mms-name = <server-name>
      1. Ping interval for Mongo monitoring server.
        #mms-interval = <seconds>
      1. Replication Options
      1. in replicated mongo databases, specify here whether this is a slave or master
        #slave = true
        #source = master.example.com
      2. Slave only: specify a single database to replicate
        #only = master.example.com
      3. or
        #master = true
        #source = slave.example.com
      1. Address of a server to pair with.
        #pairwith = <server:port>
      2. Address of arbiter server.
        #arbiter = <server:port>
      3. Automatically resync if slave data is stale
        #autoresync
      4. Custom size for replication operation log.
        #oplogSize = <MB>
      5. Size limit for in-memory storage of op ids.
        #opIdMem = <bytes>

            Assignee:
            Unassigned Unassigned
            Reporter:
            MarkDBlackwell MarkDBlackwell [X]
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: