Skip to content

Commit 6dd0bc8

Browse files
felicialimjwcullen
authored andcommitted
Fuzz mix_presentation_id in IamfDecoder::Settings
- Aditionally use optional `mix_presentation_id` and `output_layout` PiperOrigin-RevId: 900245931
1 parent 44c98bb commit 6dd0bc8

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

iamf/api/decoder/tests/iamf_decoder_fuzz_test.cc

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
#include <cstddef>
1414
#include <cstdint>
15+
#include <optional>
1516
#include <string>
1617
#include <vector>
1718

@@ -29,6 +30,7 @@ namespace {
2930
using api::OutputLayout;
3031
using ::fuzztest::Arbitrary;
3132
using ::fuzztest::ElementOf;
33+
using ::fuzztest::OptionalOf;
3234

3335
constexpr absl::string_view kIamfFileTestPath = "iamf/cli/testdata/iamf/";
3436

@@ -113,13 +115,15 @@ void DoesNotDieCreateFromDescriptors(const std::string& descriptor_data,
113115
FUZZ_TEST(IamfDecoderFuzzTest_ArbitraryBytesToDescriptors,
114116
DoesNotDieCreateFromDescriptors);
115117

116-
void DoesNotDieAllParams(api::OutputLayout output_layout,
118+
void DoesNotDieAllParams(std::optional<api::OutputLayout> output_layout,
117119
api::OutputSampleType output_sample_type,
118-
uint32_t mix_presentation_id, std::string data) {
120+
std::optional<uint32_t> mix_presentation_id,
121+
std::string data) {
119122
std::vector<uint8_t> bitstream(data.begin(), data.end());
120123
std::unique_ptr<api::IamfDecoder> iamf_decoder;
121124
const api::IamfDecoder::Settings kSettings = {
122-
.requested_mix = {.output_layout = output_layout},
125+
.requested_mix = {.mix_presentation_id = mix_presentation_id,
126+
.output_layout = output_layout},
123127
.requested_output_sample_type = output_sample_type,
124128
};
125129
ASSERT_TRUE(api::IamfDecoder::Create(kSettings, iamf_decoder).ok());
@@ -157,10 +161,10 @@ auto AnyOutputSampleType() {
157161
}
158162

159163
FUZZ_TEST(IamfDecoderFuzzTest_AllArbitraryParams, DoesNotDieAllParams)
160-
.WithDomains(AnyOutputLayout(), // output_layout,
161-
AnyOutputSampleType(), // output_sample_type,
162-
Arbitrary<uint32_t>(), // mix_presentation_id,
163-
Arbitrary<std::string>()); // data
164+
.WithDomains(OptionalOf(AnyOutputLayout()), // output_layout,
165+
AnyOutputSampleType(), // output_sample_type,
166+
OptionalOf(Arbitrary<uint32_t>()), // mix_presentation_id,
167+
Arbitrary<std::string>()); // data
164168

165169
} // namespace
166170
} // namespace iamf_tools

0 commit comments

Comments
 (0)