# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Example fuzz plan.
{
 "fuzzplan_version": 1,
 # Typically "SystemBus". Also recognizes "SessionBus" or arbitrary
 # bus addresses like "unix:path=/var/something".
 "bus": "SystemBus",

 "targets": [
   # A list of targets, each a dictionary looking like this one.
   {"daemon_process": "udisks-daemon",
    "dbus_destination": "org.freedesktop.UDisks",

    "dbus_paths": [
     {"path": "/org/freedesktop/UDisks",
      "interfaces": [
       {"interface": "org.freedesktop.DBus.Properties",
        "methodcalls": [
         ["Get", "org.freedesktop.UDisks",
          {"mutator": "StringMutator", "value": "SupportsLuksDevices",
           "mutator_specific_keys": "can tune the mutator"}],
         ["Example2", {"mutator": "UInt32Mutator", "value": 42}]
        ]
       },

       #{"interface": "org.freedesktop.SomethingElse",
       # "methodcalls": [
       #  ["Example3", "org.freedesktop.UDisks",
       #   {"mutator": "StringMutator", "value": "SupportsLuksDevices",
       #    "mutator_specific_keys": "can tune the mutator"}],
       #  ["Example4", {"mutator": "UInt32Mutator", "value": 42}]
       # ]
       #},

      ]
     }
     # More {"path"...} dictionaries go here, for this process/destination.
    ]
   }
   # Other processes/dbus-destionations are defined here as above.
  ]
}
