Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

grunt-humbug

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grunt-humbug

Grunt plugin for running PHP Humbug mutation tests.

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

grunt-humbug

Grunt plugin for running PHP Humbug mutation tests.

Build Status

Getting Started

This plugin requires Grunt ~0.4

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins.

  • Install this grunt plugin
npm install grunt-humbug --save-dev
composer install --working-dir=node_modules/grunt-humbug/
  • Generate Humbug configuration file humbug.json.dist if one does not already exist in the project root.
node_modules/grunt-humbug/vendor/bin/humbug configure

Note: The humbug.json.dist should be modified with custom configurations. Humbug also expectes that a phpunit.xml.dist or phpunit.xml be also present in the same directory.

  • Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-humbug');

The "humbug" task

Overview

In your project's Gruntfile, add a section named humbug to the data object passed into grunt.initConfig().

grunt.initConfig({
  humbug: {
    options: {
      // Task-specific options go here.
      'bin': 'node_modules/grunt-humbug/vendor/bin/humbug'
    },
    your_target: {
      options: {
        // Target-specific file lists and/or options go here.
        interaction: false
      }
    }
  }
});

Options

options.bin

Type: String Default: 'vendor/bin/humbug'

Path to the executable humbug binary.

options.incremental

Type: Boolean Default: false

Enable incremental mutation testing by relying on cached results.

options.adapter

Type: String Default: phpunit

Set name of the test adapter to use.

options.constraints

Type: String Default: null

Options set on adapter to constrain which tests are run. Applies only to the very first test run.

options.options

Type: String Default: null

Set command line options string to pass to test adapter. Default is dictated dynamically by Humbug.

options.file

Type: Array Default: []

Pattern representing file(s) to mutate.

options.noProgressBar

Type: Boolean Default: false

When set to true, removes dynamic output like the progress bar and performance data from output.

options.quiet

Type: Boolean Default: false

When set to true, does not output any message.

options.verbose

Type: Boolean Default: false

When set to true, increases the verbosity of messages.

options.ansi

Type: Boolean Default: true

When set to false, disables ANSI output.

options.interaction

Type: Boolean Default: true

When set to false, will not ask any interactive questions.

options.timeout

Type: Integer Default: 10

Sets a timeout (in seconds) applied for each test run to combat infinite loop mutations.

options.force

Type: Boolean Default: false

Continue running grunt in the event of failures.

options.maxBuffer

Type: Integer Default: 200*1024

Configure the Node JS maxBuffer option passed to the exec function. This can be useful if you need to run a large test suite which outputs lot of logs, otherwise you could encounter a Fatal error: stdout maxBuffer exceeded. error. See issue #29 for more informations about this.

options.callback

Type: String Default: null

Custom callback for altering Humbug's output.

Usage Examples

Test CI Options

In this example, the options are set for a common usage when running Humbug for Continuious Integration tests.

grunt.initConfig({
  humbug: {
    options: {
      'bin': 'node_modules/grunt-humbug/vendor/bin/humbug'
    },
    testci: {
      options: {
        interaction: false,
        noProgressBar: false,
        interaction: false,
        force: true
      }
    }
  }
});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2015-05-05 v0.1.0 Initial release.

Keywords

gruntplugin

FAQs

Package last updated on 06 May 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts