History log of /openbmc/libpldm/tests/meson.build (Results 1 – 18 of 18)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v0.11.0
# fef24ed6 28-Nov-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Specify OEM extensions in an array

Prevent a proliferation of options by exploiting choice-constrained
arrays.

Change-Id: I5bb5c9bfd41d2854fafee189734abcf58b058d82
Signed-off-by: Andrew Jeff

meson: Specify OEM extensions in an array

Prevent a proliferation of options by exploiting choice-constrained
arrays.

Change-Id: I5bb5c9bfd41d2854fafee189734abcf58b058d82
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


Revision tags: v0.10.0, v0.9.1
# e984a461 07-Sep-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

meson: Format build files with `meson format`

Additionally, add the formatting command to `scripts/pre-submit` so it's
run by OpenBMC's CI (via `scripts/run-ci`).

Change-Id: Ifb8fc06106b8cfa9155e98

meson: Format build files with `meson format`

Additionally, add the formatting command to `scripts/pre-submit` so it's
run by OpenBMC's CI (via `scripts/run-ci`).

Change-Id: Ifb8fc06106b8cfa9155e986528b769a5ca450b4c
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


Revision tags: v0.9.0
# 48761c62 03-Jun-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

libpldm: Reorganize source and test files

Primarily this is about moving specification-specific files into
'dsp/' (in the "DMTF Standard Publication" sense[1]) subdirectories of
both src/ and tests/

libpldm: Reorganize source and test files

Primarily this is about moving specification-specific files into
'dsp/' (in the "DMTF Standard Publication" sense[1]) subdirectories of
both src/ and tests/.

[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP4014_2.14.0.pdf

libpldm is a concrete C implementation of the PLDM family of
specifications. This invokes some accidental complexity[2] such as the
msgbuf APIs and other concerns.

[2]: https://en.wikipedia.org/wiki/No_Silver_Bullet

Separate the essential complexity (everything under the dsp/
subdirectories) from the accidental complexity (almost everything else).

While doing so, I took the opportunity to drop the 'libpldm_' prefix
and '_test' suffix from a variety of tests. The 'libpldm_' prefix is a
hangover from the days when libpldm was a subproject of OpenBMC's pldm
repo. The '_test' suffix feels redundant given the parent directory
path.

Note that we maintain separation of the src/ and tests/. The test suite
is implemented in C++ while libpldm's APIs are declared and defined in
C. The ability to chop all the tests and C++ out of the implementation
by ignoring a subtree seems like a desirable property when vendoring the
library into other projects.

Finally, update the x86_64 GCC ABI dump, as rearranging the source
causes a lot of churn in its definitions.

Change-Id: Icffcc6cf48b3101ecd38168827c0a81cffb8f083
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# d480b704 03-Jun-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

tests: meson: Push build configuration down to leaf directories

I feel this keeps things a bit more self-contained.

Change-Id: I68de6e4b0269d64b620b6c339825113e31074b4c
Signed-off-by: Andrew Jeffer

tests: meson: Push build configuration down to leaf directories

I feel this keeps things a bit more self-contained.

Change-Id: I68de6e4b0269d64b620b6c339825113e31074b4c
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# 9ca76701 02-Jun-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

tests: meson: Add note about guarding the transport tests

The transport tests rely on a 'test' transport implementation that will
never be marked as stable.

Change-Id: Ib7766c25a435d1bd27f13d45a500

tests: meson: Add note about guarding the transport tests

The transport tests rely on a 'test' transport implementation that will
never be marked as stable.

Change-Id: Ib7766c25a435d1bd27f13d45a50018806b225cae
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# 44925df8 02-Jun-2024 Andrew Jeffery <andrew@codeconstruct.com.au>

tests: meson: Sort tests alphabetically

Try to maintain some sense of coherence.

Change-Id: I14b7d8a07a65670e632c03f8532ec48229806a45
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>


Revision tags: v0.8.0
# 22fad395 26-Oct-2023 Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

oem: meta: Add decode_oem_meta_file_io_req()

Support decode_oem_meta_file_io_req() cmd to decode the incoming post
code.

PLDM OEM Meta Write File IO cmd:
Example:
Request:
Byte 0: 0x3F (OEM c

oem: meta: Add decode_oem_meta_file_io_req()

Support decode_oem_meta_file_io_req() cmd to decode the incoming post
code.

PLDM OEM Meta Write File IO cmd:
Example:
Request:
Byte 0: 0x3F (OEM cmd)
Byte 1: 0x02 (FILE IO)
Byte 2: 0x00 (File io type : POST CODE)
Byte 3-6: 0x04 (Data length)
Byte 7-10: 0x93 0xE0 0x00 0xEA (post code)

Response:
Byte 0: 0x00 (success)

Tested:
- Unit Tests passed.

Change-Id: I85437698642dd3cbe6084acf1feada842d206eac
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

show more ...


# b0c1d20a 07-Nov-2023 Andrew Jeffery <andrew@codeconstruct.com.au>

libpldm: Fix header use

The headers need to work whether we're building libpldm in the repo or
we're building another project depending on the headers in the system
include directory.

Tidy up the p

libpldm: Fix header use

The headers need to work whether we're building libpldm in the repo or
we're building another project depending on the headers in the system
include directory.

Tidy up the paths involved and switch to defining the public headers as
system headers for the purpose of the build.

Change-Id: I49413988c94d393ea5761bc4684edcd2c2482a98
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


# cc45aed7 10-Sep-2023 Andrew Jeffery <andrew@aj.id.au>

transport: af-mctp: Add pldm_transport_af_mctp_bind()

The af-mctp transport needs specific setup before it can receive
requests[1]. Futher, we must track the MCTP metadata on each request
message an

transport: af-mctp: Add pldm_transport_af_mctp_bind()

The af-mctp transport needs specific setup before it can receive
requests[1]. Futher, we must track the MCTP metadata on each request
message and apply it to the response for correlation at the requester.
This behaviour is addressed in the Message Tag and Tag Owner fields
outlined by Table 1 of DSP0236 v1.3.1.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/networking/mctp.rst?h=v6.5#n73

Change-Id: I3fbd84a4174b56d618a42ca58c9881ea5a80f060
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>

show more ...


# 2aa237d6 22-Sep-2023 Andrew Jeffery <andrew@codeconstruct.com.au>

tests: Deserialise transport tests that exercise timeouts

Allow tests that wait to execute in parallel. This reduces the test
suite run time from ~20 seconds to ~5 seconds.

Change-Id: I9acb86a0ce91

tests: Deserialise transport tests that exercise timeouts

Allow tests that wait to execute in parallel. This reduces the test
suite run time from ~20 seconds to ~5 seconds.

Change-Id: I9acb86a0ce919b90cc7f923b1e1c922d5614d37d
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>

show more ...


Revision tags: v0.7.0
# ba05dba7 29-Aug-2023 Andrew Jeffery <andrew@aj.id.au>

tests: Exclude transport tests when build excludes testing ABIs

The test transport will never be marked stable as we never want to
publicly expose it in a production build. Therefore isolate the
tra

tests: Exclude transport tests when build excludes testing ABIs

The test transport will never be marked stable as we never want to
publicly expose it in a production build. Therefore isolate the
transport tests to builds that enable the testing ABI, allowing the
transport tests to link.

Fixes: 0a6d6821bd74 ("transport: Stabilise core transport and implementation APIs")
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: If1b252d8df0eeef9fb535824536436344d8c00ec

show more ...


Revision tags: v0.6.0, v0.5.0
# 9a6ba89c 18-Jul-2023 Andrew Jeffery <andrew@aj.id.au>

transport: Introduce a transport for testing purposes

I've put the test transport header along side the source file as its
presence and implementation is an internal detail to support the test
suite

transport: Introduce a transport for testing purposes

I've put the test transport header along side the source file as its
presence and implementation is an internal detail to support the test
suite. No consumers of libpldm outside its test suite should have any
need for the test transport. We can always choose to make the header
public if for some reason someone does eventually want to use it.

In addition, add a new test suite exercising the transport interfaces.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ie9906bdc6a397436b91198196de04ffd6c93fc46

show more ...


Revision tags: v0.4.0
# 73d9176a 27-Jun-2023 Andrew Jeffery <andrew@aj.id.au>

bios_table: pldm_bios_table_iter_next(): Invalid entry halts iteration

The attribute iterator machinary prevented misbehaviour through use of
assert(). The attribute list is maintained as a linear s

bios_table: pldm_bios_table_iter_next(): Invalid entry halts iteration

The attribute iterator machinary prevented misbehaviour through use of
assert(). The attribute list is maintained as a linear sequence of
variably sized data structures that are packed against each other in the
address space. The iterator is implemented by assigning a callback that
can determine the length of each entry as appropriate for the entry's
type, and then moving the iterator's cursor between elements.

The length derivation for some elements was protected by assert(). To
avoid the asserts we rework the length callback prototype to return
a signed size value and indicate an error state with a negative size.

pldm_bios_table_iter_next() is reworked to detect the error case on
deriving the element size (negative size) and behave as if the iterator
has terminated.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I80db3fe179201b169acc68c68633d8dd3f3a6334

show more ...


Revision tags: v0.3.0
# 8de8e1ec 09-Jun-2023 Andrew Jeffery <andrew@aj.id.au>

meson: Reduce strength of oem-ibm requirements from enabled to allowed

If it's not expressly disabled, do what's necessary to build the oem-ibm
pieces of the code-base. Capture the newly-enabled API

meson: Reduce strength of oem-ibm requirements from enabled to allowed

If it's not expressly disabled, do what's necessary to build the oem-ibm
pieces of the code-base. Capture the newly-enabled APIs in the ABI
dumps.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I50168309432620e03f00a4620b6bfc38f2e575c8

show more ...


# b27cebfd 23-Apr-2023 Andrew Jeffery <andrew@aj.id.au>

tests: Add instance-id tests

They weren't included on the patch introducing the API. Better late than
never!

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I36b38959f427f4abf9fb3308d6e3

tests: Add instance-id tests

They weren't included on the patch introducing the API. Better late than
never!

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I36b38959f427f4abf9fb3308d6e301a2a692170f

show more ...


# c63f63a2 24-Feb-2023 Andrew Jeffery <andrew@aj.id.au>

Introduce a small msgbuf abstraction

Tidy up how we extract data from wire-format buffers.

The API achieves the following:

1. Abstracts the buffer tracking to improve clarity in the calling code

Introduce a small msgbuf abstraction

Tidy up how we extract data from wire-format buffers.

The API achieves the following:

1. Abstracts the buffer tracking to improve clarity in the calling code

2. Prevents buffer overflows during data extraction

3. Handles type conversions while avoiding undefined behaviour

4. Handles alignment concerns with packed data and removes the need for
`__attribute__((packed))` structs in the public ABI

5. Handles the endianness conversions required by the PLDM
specification(s)

6. Batches error checks such that you mostly only have to do `return
pldm_msgbuf_destroy();` at the end of the decode_* function for error
handling, no error handling required on every `pldm_msgbuf_extract()`
call

7. pldm_msgbuf_extract() is generic over the type of the data pointer
(automatically calls the correct extractor for the type of the
pointer)

8. Generates optimal code (where the optimiser can prove the accesses
are in-bounds we generate straight-line load/store pairs and no
function calls)

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I7e727cbd26c43aae2815ababe0e6ca4c8e629766
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...


Revision tags: v0.2.0
# 49fb9c42 10-Oct-2022 Andrew Jeffery <andrew@aj.id.au>

Merge commit '9c76679224cf4b1655323a1e5e561ad2cb493ba2'

Change-Id: Ie53250468b641716e6c995f2eb16f1fa89f4bf91


# 9c766792 10-Aug-2022 Andrew Jeffery <andrew@aj.id.au>

libpldm: Migrate to subproject

Organize files in libpldm to make it a subproject

In the current state, libpldm is not readily consumable
as a subproject.This commit does all the necessary re-organi

libpldm: Migrate to subproject

Organize files in libpldm to make it a subproject

In the current state, libpldm is not readily consumable
as a subproject.This commit does all the necessary re-organisation
of the source code to make it work as a subproject.

There are no .c/.h files changes in this commit, only meson
changes and re-organising the code structure.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I20a71c0c972b1fd81fb359d604433618799102c6

show more ...