tools/fuzz-testing.git
7 years agoAdd various utility functions to remove code duplication 48/144148/5
Dmitriy Nikiforov [Thu, 10 Aug 2017 19:31:50 +0000 (22:31 +0300)]
Add various utility functions to remove code duplication

Added functions:
 * get_device_arch
 * get_config_by_arch
 * get_profile_by_arch
 * install_deps
 * check_deps
 * check_and_install_deps

Change-Id: I2eeba01a28e48c3a773c9a89c56de2b53e00ecfd

7 years agoAdd .options files for wgt/tpk-manifest-handlers projects Protex-check-17082017
Dmitriy Nikiforov [Fri, 4 Aug 2017 16:37:24 +0000 (19:37 +0300)]
Add .options files for wgt/tpk-manifest-handlers projects

7 years agoAdd '--dump-coverage' option to dump sanitizers coverage
Dmitriy Nikiforov [Thu, 10 Aug 2017 16:35:10 +0000 (19:35 +0300)]
Add '--dump-coverage' option to dump sanitizers coverage

Generated .sancov files will be located at <target_dir>/coverage.

7 years agoAdd 'run' command to execute specified fuzzing target on device
Dmitriy Nikiforov [Fri, 4 Aug 2017 15:50:54 +0000 (18:50 +0300)]
Add 'run' command to execute specified fuzzing target on device

7 years agoAdd support for .options files to 'publish' command
Dmitriy Nikiforov [Fri, 4 Aug 2017 17:01:57 +0000 (20:01 +0300)]
Add support for .options files to 'publish' command

7 years agoAdd support for .options files to 'build' command
Dmitriy Nikiforov [Fri, 4 Aug 2017 16:15:31 +0000 (19:15 +0300)]
Add support for .options files to 'build' command

7 years agoFuzzing target for yaca
Dmitry Kovalenko [Fri, 14 Jul 2017 06:02:08 +0000 (09:02 +0300)]
Fuzzing target for yaca

Change-Id: I9d1589d934884d897b9911666d92e17638f9611d
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
7 years agoFuzzing targets for libcryptsvc
Dmitry Kovalenko [Thu, 6 Jul 2017 12:57:00 +0000 (15:57 +0300)]
Fuzzing targets for libcryptsvc

For the following funcitons:
Base64Encoding()           (libcrypt-fuzz1.cpp)
cs_derive_key_with_pass()  (libcrypt-fuzz2.cpp)

Change-Id: I8c47661d8a6a555825d7dfb15f1c19f0a6f0b424
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
7 years agoFix renamed 'sdb shell' wrappers in publish command
Dmitriy Nikiforov [Thu, 10 Aug 2017 17:26:25 +0000 (20:26 +0300)]
Fix renamed 'sdb shell' wrappers in publish command

7 years agoAdd "--define 'asan 1'" option to gbs build options
Dmitriy Nikiforov [Thu, 10 Aug 2017 13:54:47 +0000 (16:54 +0300)]
Add "--define 'asan 1'" option to gbs build options

7 years agoEnable more compiler warnings by default
Dmitriy Nikiforov [Fri, 4 Aug 2017 16:24:39 +0000 (19:24 +0300)]
Enable more compiler warnings by default

7 years agoFix error messages in sdb_shell_verbose
Dmitriy Nikiforov [Tue, 8 Aug 2017 13:51:20 +0000 (16:51 +0300)]
Fix error messages in sdb_shell_verbose

7 years agoAdd '--corpus' option to push seed corpus to device
Dmitriy Nikiforov [Thu, 3 Aug 2017 15:25:47 +0000 (18:25 +0300)]
Add '--corpus' option to push seed corpus to device

Other changes:
  * added 'artifacts' directory on device for fuzzing artifacts

7 years agoAdd support for dictionaries to 'publish' command
Dmitriy Nikiforov [Thu, 3 Aug 2017 12:00:54 +0000 (15:00 +0300)]
Add support for dictionaries to 'publish' command

7 years agoChange directories structure on device
Dmitriy Nikiforov [Thu, 3 Aug 2017 11:42:55 +0000 (14:42 +0300)]
Change directories structure on device

Now it will be like this:
$ infra/built_targets.sh publish <target> <dest>

Directories tree:
 <dest>/
  ` -- <target>/
        | -- fuzzer1/
        |    ` -- fuzzer1
        | -- fuzzer2/
        |    ` -- fuzzer2
        . . .

7 years agoSimplify rpms extraction on device
Dmitriy Nikiforov [Thu, 3 Aug 2017 10:35:26 +0000 (13:35 +0300)]
Simplify rpms extraction on device

7 years agoSimplify and make sdb wrappers accessible to all commands
Dmitriy Nikiforov [Tue, 1 Aug 2017 14:56:50 +0000 (17:56 +0300)]
Simplify and make sdb wrappers accessible to all commands

7 years agoSimplify search for specified target
Dmitriy Nikiforov [Tue, 1 Aug 2017 14:55:21 +0000 (17:55 +0300)]
Simplify search for specified target

7 years agoAdd sdb shell wrapper with 'printf'
Dmitriy Nikiforov [Tue, 1 Aug 2017 13:55:35 +0000 (16:55 +0300)]
Add sdb shell wrapper with 'printf'

7 years agoAdd '--with-asan' option to push the libasan package to device
Dmitriy Nikiforov [Tue, 1 Aug 2017 12:14:01 +0000 (15:14 +0300)]
Add '--with-asan' option to push the libasan package to device

7 years agoMake GBS_ROOT variable accessible to all commands
Dmitriy Nikiforov [Tue, 1 Aug 2017 12:12:09 +0000 (15:12 +0300)]
Make GBS_ROOT variable accessible to all commands

7 years agoAdd 'publish' command to push built targets to emulator via sdb
Dmitriy Nikiforov [Mon, 31 Jul 2017 12:26:26 +0000 (15:26 +0300)]
Add 'publish' command to push built targets to emulator via sdb

7 years agoFix build artifacts clean-ups
Dmitriy Nikiforov [Tue, 8 Aug 2017 14:36:12 +0000 (17:36 +0300)]
Fix build artifacts clean-ups

 * Replaced double-braces operators with 'test'
 * Changed condition to not fail if directories do not exist

7 years agoAdd script for Jenkins RV job's build stage
Dmitriy Nikiforov [Wed, 2 Aug 2017 20:08:35 +0000 (23:08 +0300)]
Add script for Jenkins RV job's build stage

7 years agoRename 'build_targets.sh' to 'tizen_fuzz.sh'
Dmitriy Nikiforov [Wed, 2 Aug 2017 20:03:25 +0000 (23:03 +0300)]
Rename 'build_targets.sh' to 'tizen_fuzz.sh'

7 years agoAdd 'dicts' variable to existing targetspecs
Dmitriy Nikiforov [Wed, 2 Aug 2017 18:54:27 +0000 (21:54 +0300)]
Add 'dicts' variable to existing targetspecs

7 years agoAdd '--dicts' option to include dictionaries specified in targetspec
Dmitriy Nikiforov [Wed, 2 Aug 2017 18:50:26 +0000 (21:50 +0300)]
Add '--dicts' option to include dictionaries specified in targetspec

This option will search for files specified in 'dicts' variable in
targetspec in the given directory and copy them to the built artifacts. If
there is no 'dicts' variable or it is empty this option will do nothing.

7 years agoClean previously built artifacts before starting a new build
Dmitriy Nikiforov [Wed, 2 Aug 2017 15:02:34 +0000 (18:02 +0300)]
Clean previously built artifacts before starting a new build

7 years agoAdd '--noinit' option to build command to skip dependencies installation
Dmitriy Nikiforov [Wed, 2 Aug 2017 14:55:26 +0000 (17:55 +0300)]
Add '--noinit' option to build command to skip dependencies installation

7 years agoAdd functions for verbose 'git' and 'gbs' commands
Dmitriy Nikiforov [Wed, 2 Aug 2017 14:28:47 +0000 (17:28 +0300)]
Add functions for verbose 'git' and 'gbs' commands

7 years agoReplaced -lpthread flag with -pthread in targets build scripts
Dmitriy Nikiforov [Mon, 31 Jul 2017 18:12:23 +0000 (21:12 +0300)]
Replaced -lpthread flag with -pthread in targets build scripts

7 years agoAdd missing COMMON_LDFLAGS to LDFLAGS in wgt-manifest-handlers/build.sh
Dmitriy Nikiforov [Mon, 31 Jul 2017 18:07:11 +0000 (21:07 +0300)]
Add missing COMMON_LDFLAGS to LDFLAGS in wgt-manifest-handlers/build.sh

7 years agoUpdate targets build scripts to be used by infra/build_targets.sh
Dmitriy Nikiforov [Mon, 31 Jul 2017 18:00:57 +0000 (21:00 +0300)]
Update targets build scripts to be used by infra/build_targets.sh

Updated targets:
 * tizen-platform-config
 * tpk-manifest-handlers
 * xdgmime

7 years agoAdd '--include-all' option to default gbs build arguments
Dmitriy Nikiforov [Mon, 31 Jul 2017 18:26:30 +0000 (21:26 +0300)]
Add '--include-all' option to default gbs build arguments

7 years agoFix exits for builds skipping in 'build' command script
Dmitriy Nikiforov [Mon, 31 Jul 2017 18:24:22 +0000 (21:24 +0300)]
Fix exits for builds skipping in 'build' command script

7 years agoTarget functions for xdgmime (platform/core/appfw/xdgmime)
sweet.kim [Mon, 31 Jul 2017 04:25:44 +0000 (13:25 +0900)]
Target functions for xdgmime (platform/core/appfw/xdgmime)

Fuzzed functions:
* xdg_mime_get_mime_type_for_data (data, len, result_prio)
* xdg_mime_get_mime_type_from_file_name (file_name)

7 years agoFix build-all command to properly fail on error with --logpath option
Dmitriy Nikiforov [Fri, 28 Jul 2017 16:49:46 +0000 (19:49 +0300)]
Fix build-all command to properly fail on error with --logpath option

7 years agoReplace 'git remote get-url' command for compatibility with older versions
Dmitriy Nikiforov [Fri, 28 Jul 2017 13:37:39 +0000 (16:37 +0300)]
Replace 'git remote get-url' command for compatibility with older versions

7 years agoAdd '--only-target' option to build command
Dmitriy Nikiforov [Thu, 27 Jul 2017 17:00:05 +0000 (20:00 +0300)]
Add '--only-target' option to build command

7 years agoSeparate build artifacts for different architectures
Dmitriy Nikiforov [Thu, 27 Jul 2017 16:32:59 +0000 (19:32 +0300)]
Separate build artifacts for different architectures

Also, this information is now reflected in 'list --long' command.

7 years agoAdd 'list' command script for listing all built targets
Dmitriy Nikiforov [Thu, 27 Jul 2017 16:11:20 +0000 (19:11 +0300)]
Add 'list' command script for listing all built targets

7 years agoAdd --spec option to build command for specification of custom targetspec
Dmitriy Nikiforov [Thu, 27 Jul 2017 14:55:40 +0000 (17:55 +0300)]
Add --spec option to build command for specification of custom targetspec

7 years agoMove ARCH variable to 'build' command script
Dmitriy Nikiforov [Thu, 27 Jul 2017 14:54:10 +0000 (17:54 +0300)]
Move ARCH variable to 'build' command script

7 years agoAdd ability to set custom TIZEN_FUZZ_HOME via env variable and option -f
Dmitriy Nikiforov [Thu, 27 Jul 2017 14:44:07 +0000 (17:44 +0300)]
Add ability to set custom TIZEN_FUZZ_HOME via env variable and option -f

Environment variable $TIZEN_FUZZ_HOME is of lower priority then --fuzz-home
option.

7 years agoRemove redundant export of VERBOSE variable
Dmitriy Nikiforov [Thu, 27 Jul 2017 14:42:07 +0000 (17:42 +0300)]
Remove redundant export of VERBOSE variable

7 years agoMute mount/umount and git operations
Dmitriy Nikiforov [Wed, 26 Jul 2017 17:07:26 +0000 (20:07 +0300)]
Mute mount/umount and git operations

7 years agoAdd GBS configurations for emulator64 and emulator32 platforms
Dmitriy Nikiforov [Wed, 26 Jul 2017 16:54:56 +0000 (19:54 +0300)]
Add GBS configurations for emulator64 and emulator32 platforms

Changes:
 * Added gbs configs in 'infra/config' directory. One of these configs will
   be used depending on the chosen architecture. Only emulator platforms
   are supported now.
 * Added '--clean', '--skip-srcrpm' and '--clean-repos' to default gbs
   build options.
 * Removed '--overwrite' and '--clean' options from 'build' and 'build-all'
   subcommands as '--clean' is used by default now.
 * Global '--verbose' option now adds '--debug' option to gbs build.

7 years agoAdd target specifications and rewrite build scripts
Dmitriy Nikiforov [Tue, 25 Jul 2017 20:00:16 +0000 (23:00 +0300)]
Add target specifications and rewrite build scripts

Build scripts are rewritten to be used by 'infra' scripts in automated
builds.

7 years agoAdd script for 'build-all' command
Dmitriy Nikiforov [Tue, 25 Jul 2017 19:59:47 +0000 (22:59 +0300)]
Add script for 'build-all' command

7 years agoAdd script for 'build' command
Dmitriy Nikiforov [Tue, 25 Jul 2017 19:59:07 +0000 (22:59 +0300)]
Add script for 'build' command

7 years agoAdd script for automated fuzzing targets builds
Dmitriy Nikiforov [Tue, 25 Jul 2017 19:56:53 +0000 (22:56 +0300)]
Add script for automated fuzzing targets builds

7 years agoFuzzing target for xdgmime
sweet.kim [Mon, 17 Jul 2017 07:14:38 +0000 (16:14 +0900)]
Fuzzing target for xdgmime

Fuzzed functions:
* xdg_mime_get_mime_type_for_data (data, len, result_prio)
* xdg_mime_get_mime_type_from_file_name (file_name)

7 years agoFuzzing target for tizen-platform-config
Maria Guseva [Tue, 25 Jul 2017 14:43:05 +0000 (17:43 +0300)]
Fuzzing target for tizen-platform-config

7 years agoAdded constants from manifest_utils.cc to wgt-manifest.dict
Dmitriy Nikiforov [Tue, 18 Jul 2017 08:57:08 +0000 (17:57 +0900)]
Added constants from manifest_utils.cc to wgt-manifest.dict

7 years agoFuzzing target for tpk-manifest-handlers
Jaehong Lee [Mon, 17 Jul 2017 07:45:21 +0000 (16:45 +0900)]
Fuzzing target for tpk-manifest-handlers

7 years agoAdd dictionary for Tizen manifests for wgt-applications
Dmitriy Nikiforov [Fri, 7 Jul 2017 15:28:30 +0000 (18:28 +0300)]
Add dictionary for Tizen manifests for wgt-applications

This dictionary is a result of merged string literals from wgt-manifest-handlers
sources and a dictionary for XML format from the Chromium project:

https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/fuzzers/dicts/xml.dict

7 years agoAdd target function for 'wgt-manifest-handlers' project
Dmitriy Nikiforov [Fri, 7 Jul 2017 09:28:53 +0000 (12:28 +0300)]
Add target function for 'wgt-manifest-handlers' project

Fuzzed functions:
 * wgt::parse::WidgetConfigParser::ParseManifest(path)
 * wgt::parse::WidgetConfigParser::GetManifestData(key)
 * wgt::parse::WidgetConfigParser::CheckValidStartFile()
 * wgt::parse::WidgetConfigParser::CheckValidServicesStartFiles()

7 years agoAdd README.md for 'bundle' project
Dmitriy Nikiforov [Thu, 6 Jul 2017 14:35:01 +0000 (17:35 +0300)]
Add README.md for 'bundle' project

7 years agoAdd fuzzing target function for 'bundle' project
Dmitriy Nikiforov [Mon, 3 Jul 2017 14:11:06 +0000 (17:11 +0300)]
Add fuzzing target function for 'bundle' project

Currently it only tests 'bundle_decode' function.

Added files:
  * targets/bundle/build.sh - build script for target function
  * targets/bundle/bundle-fuzz.cpp - target function implementation

7 years agoSeparate RIFF format LIST tag from its type tags in riff.dict
Dmitriy Nikiforov [Thu, 8 Jun 2017 16:20:05 +0000 (19:20 +0300)]
Separate RIFF format LIST tag from its type tags in riff.dict

LIST tag should be separated from its type tag by 4-byte field with size of
the chunk instead of the underscore character.[1]

Reference links:
  1. Section 5.6.2 in http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf

7 years agoAdd ITRK LIST INFO tag to RIFF dictionary
Dmitriy Nikiforov [Wed, 7 Jun 2017 19:10:46 +0000 (22:10 +0300)]
Add ITRK LIST INFO tag to RIFF dictionary

Obscure tag that is not listed in any specification but it is used by many media
players according to this: http://wiki.audacityteam.org/wiki/WAV#Metadata

7 years agoAdd script for dictionaries generation from Chromium project
Dmitriy Nikiforov [Tue, 6 Jun 2017 16:35:53 +0000 (19:35 +0300)]
Add script for dictionaries generation from Chromium project

Source:   https://chromium.googlesource.com/chromium/src/testing/libfuzzer/
Revision: d692c67ad73629ac35e1623048218f36fb4bb680

7 years agoAdd dictionaries from Chromium project
Dmitriy Nikiforov [Mon, 5 Jun 2017 16:01:08 +0000 (19:01 +0300)]
Add dictionaries from Chromium project

Reference link:
  https://chromium.googlesource.com/chromium/src/testing/libfuzzer/+/master/fuzzers/dicts

7 years agoAdd dictionary for RIFF format
Dmitriy Nikiforov [Mon, 5 Jun 2017 15:05:25 +0000 (18:05 +0300)]
Add dictionary for RIFF format

Reference links:
  1. https://en.wikipedia.org/wiki/Resource_Interchange_File_Format
  2. https://en.wikipedia.org/wiki/WAV
  3. https://en.wikipedia.org/wiki/Broadcast_Wave_Format

7 years agoInitial commit
Dmitrii Nikiforov/SRR-SW Tools Lab/./삼성전자 [Mon, 5 Jun 2017 14:57:08 +0000 (17:57 +0300)]
Initial commit

7 years agoInitial empty repository
Tizen Infrastructure [Mon, 14 Aug 2017 00:45:57 +0000 (00:45 +0000)]
Initial empty repository