GithubHelp home page GithubHelp logo

openliberty / yoko Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/geronimo-yoko

0.0 2.0 7.0 7.17 MB

Yoko ORB used by OpenLiberty, derived from Apache Geronimo

License: Apache License 2.0

Java 99.94% Shell 0.06%

yoko's Introduction

The Yoko ORB

Yoko is a CORBA 2.3 compliant ORB implementation to support interprocess communication. It is an open-source project maintained by IBM, forked from Apache Yoko.

License

Build Requirements

  1. SDKMAN, to manage the toolchain, including installing Java, Gradle

Steps to build Yoko

  1. From the root of the project, run sdkman env install to obtain the toolchain. (one-time step)
  2. Run sdk env to initialise the environment.
  3. Run gradle build to build and test Yoko.

Testify

Testify is an open-source generic framework used for testing with Junit 5 across multiple threads and forked processes.

Docs

The documentation for Testify can be found at https://openliberty.github.io/yoko

yoko's People

Contributors

joe-chacko avatar ngmr avatar habiblawal1 avatar djencks avatar jgawor avatar austin0 avatar jhanders34 avatar jakub-pomykala avatar aguibert avatar mnuttall avatar simonastavarache avatar toshiyamamoto avatar

Watchers

James Cloos avatar  avatar

yoko's Issues

Testibus Module

As a

developer

I want to

add Testibus to my project dependencies

so that

my project will pull binaries and compile against them

  • move testify packages to io.openliberty.testibus
  • add dependencies to other yoko modules
  • add succinct README
  • ensure license information present in built jar
  • check copyright
  • release engineering
  • sign and seal built jars
  • upload (e.g. to maven central)

Fields declared as non-serializable classes should be marshalled as abstract values

Historically fields of non-serializable class types have been marshalled as abstract interfaces, which has caused interoperability issues with other Java ORBs.

The OMG Java-to-IDL 1.4 specification in section 4.3.11 specifies that they should be marshalled as abstract values. This means that no discriminator octet is required before the value itself is marshalled.

Testibus User Guide

As a

developer

I want to

read the User Guide

so that

I can understand how to use Testibus

  • Decide on and create infrastructure for docs
  • Describe the bus concept as used in Testibus
  • Describe how to use the bus across threads, and across (sub) processes
  • Describe how to make the framework more verbose
  • Describe how to enable j.u.l logging per-test / per-testcase
  • Describe how to extend annotations

copySystemException() may have incorrect logic

This method sets the cause as the original exception so there will always be a duplicated exception in the exception chain.
The call chain regarding completion status is confusing and may misreport the completion status.
This method may be unnecessarily defensive โ€” consider just using the original system exception or upgrading the copySystemException() method to produce a closer replica of the original.

Testibus Unit Testing

As a*

Developer

I want to

run, examine, and extend the existing unit tests

so that

I can do agile development

  • move the (very few) tests that test the test framework into the new module
  • convert existing main() methods in the framework into actual tests
  • add tests for existing function

Testibus CI

As a

contributor

I want to

get test results for my pull requests

so that

I have confidence my code changes are good

  • Build and test automatically on PRs to relevant branch (currently testibus-main)
  • Build docs (if necessary)
  • Add coverage reports for Testibus framework code

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.