Skip to content

Add a document about porting to new platforms. #711

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Sep 20, 2024
Merged

Conversation

grynspan
Copy link
Contributor

@grynspan grynspan commented Sep 18, 2024

This PR adds a new Porting.md file including information for developers who want to port Swift Testing to new platforms. The document uses Classic Mac OS as a strawman/example platform. That was fun. Shoutout to @belkadan.

It also adds a SWT_NO_TIMESPEC conditional because I realized that there are platforms that don't have C11's struct timespec. (Because Classic Mac OS should obviously have C types standardized 2011.)

Formatted version here.

Checklist:

  • Code and documentation should follow the style of the Style Guide.
  • If public symbols are renamed or modified, DocC references should be updated.

This PR adds a new Porting.md file including information for developers who want
to port Swift Testing to new platforms. The document uses Classic Mac OS as a
strawman/example platform. That was fun. Shoutout to @belkadan.

It also adds a `SWT_NO_TIMESPEC` conditional because I realized that there are
platforms that don't have C11's `struct timespec`. (Because Classic Mac OS
should obviously have C types standardized 2011.)

Formatted version [here]().
@grynspan grynspan added documentation 📚 Improvements or additions to documentation enhancement New feature or request labels Sep 18, 2024
@grynspan grynspan self-assigned this Sep 18, 2024
@grynspan grynspan requested a review from iamleeg September 18, 2024 18:08
@grynspan
Copy link
Contributor Author

@swift-ci test

@grynspan
Copy link
Contributor Author

@swift-ci test

@grynspan
Copy link
Contributor Author

@swift-ci test

> must build and (minimally) function before you will be able to successfully
> build Swift Testing regardless of which platform you are porting to.

### Swift or C++?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps reorder this section later in the document? Reading through it as a step-by-step, this paragraph feels a little bit out of place. What changes would I even be making, where the choice of programming language is applicable?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm reading along, I want to know "you should be using Swift" before I get into the technical details, I think? It would read oddly to be two sections in and see "oh by the way don't use C++ unless you absolutely have to." I've already started writing code by then!

I think.

I dunno. Where do you want to move it to?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Going to merge this as-is, but we can revise.

@grynspan grynspan merged commit 0bad002 into main Sep 20, 2024
3 checks passed
@grynspan grynspan deleted the jgrynspan/porting-doc branch September 20, 2024 17:29
@grynspan grynspan added this to the Swift 6.1 milestone Sep 20, 2024
@grynspan grynspan added the discovery 🔎 test content discovery label Mar 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discovery 🔎 test content discovery documentation 📚 Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants