Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
f0e4d94
Cargo.lock for libxet not updated with version.
May 29, 2024
b7f3c45
Basic commit; not working on osx.
May 30, 2024
3f8e91a
Forgot file.
May 30, 2024
133142b
Basic things working.
May 30, 2024
993298b
Dropped the preload test (doesn't work as is.)
May 30, 2024
0cd6f89
Update again.
May 30, 2024
e65e9a2
Update.
May 30, 2024
eee7dbb
Reduced some warnings.
May 30, 2024
3fd9998
Update to avoid recursive problems.
Jun 3, 2024
cd9f4b3
Updated.
Jun 3, 2024
05476eb
Works now on osx and linux.
Jun 5, 2024
05b535c
on read
seanses Jun 5, 2024
ec01105
debuging read bug
seanses Jun 6, 2024
ff2c928
Update with interposed functions.
Jun 6, 2024
c6bb9ed
fix open flag checking
seanses Jun 6, 2024
6c5fe2d
0 for eof
seanses Jun 6, 2024
805f8d1
restructure a bit; and why does an empty mmap interpose cause process…
seanses Jun 6, 2024
38a59c7
fstat
seanses Jun 7, 2024
fdaefb9
more on fstat and read
seanses Jun 7, 2024
acd48a5
update file size type; lseek
seanses Jun 10, 2024
b57e363
Updates.
Jun 11, 2024
73351d5
open error checking; close
seanses Jun 11, 2024
da70cfe
Updates.
Jun 11, 2024
4c5d471
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jun 11, 2024
7483f23
Updated read stuff.
Jun 12, 2024
51f08a8
Added new file utils.
Jun 12, 2024
d932219
Updates to a lot of stuff.
Jun 12, 2024
330be47
basic test suite
seanses Jun 12, 2024
ea5bb8f
fix open flags check
seanses Jun 12, 2024
bca957d
Runtime now does not have static initializer race conditions.
Jun 13, 2024
d1a09ac
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jun 13, 2024
2d9aa12
rename.
Jun 13, 2024
4e3d9f8
Got recursive initializers working.
Jun 13, 2024
0b911e2
interpose open activate fd runtime
seanses Jun 13, 2024
97a9940
fix a couple of deadlocks
seanses Jun 13, 2024
789ae79
doesn't work: trace trap
seanses Jun 14, 2024
6c4a50b
quick failure on checking validity for open interposing
seanses Jun 14, 2024
7012266
revert an incorrect change
seanses Jun 17, 2024
2d0f23e
basic test suite
seanses Jun 17, 2024
3eea1b4
stat, read, write tests
seanses Jun 21, 2024
b13bb4b
fix for linux
seanses Jun 21, 2024
672f37e
Removed basic tests.
Jun 21, 2024
5019984
Added guard to sanitize preload on git commands.
Jun 21, 2024
7296633
Merge remote-tracking branch 'origin/main' into ld_preload
Jun 21, 2024
8714943
Update.
Jun 21, 2024
b894aa0
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jun 21, 2024
3f11b90
Added missing file.
Jun 21, 2024
a6d9e1f
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jun 21, 2024
3e32778
Updated env; turn off preload.
Jun 21, 2024
a2c16a4
Revert "Updated env; turn off preload."
Jun 21, 2024
493586e
Update packages to fix linux compilation error.
Jun 21, 2024
f048423
Merge branch 'hoytak/240621-update-packages' into ld_preload
Jun 21, 2024
0eba1c8
Added errno checking.
Jun 21, 2024
c9c9936
Updates.
Jun 21, 2024
4e73d80
revert incorrect disable
seanses Jun 21, 2024
19084f9
small fixes
seanses Jun 21, 2024
51f004b
Block interposing on .git dir.
Jun 22, 2024
9652874
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jun 22, 2024
f516c16
Update.
Jun 22, 2024
d49675a
Updated merge error.
Jun 25, 2024
d2ac69c
Added openat
Jun 25, 2024
b6e260e
Update.
Jun 25, 2024
5a9e4cf
Update to flags.
Jun 25, 2024
e385ea1
Updates.
Jun 25, 2024
10bf76b
revert incorrect interpose disable in stat
seanses Jun 25, 2024
2b4cee3
Added in tell, reopen, and a few other functions.
Jun 25, 2024
063304c
only interpose regular files
seanses Jun 25, 2024
21f26c9
Filled out dup etc.
Jun 26, 2024
eda1067
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jun 26, 2024
2014107
Updates.
Jun 26, 2024
1153d2c
Update.
Jun 26, 2024
0af294d
Update.
Jun 26, 2024
240e89b
Update.
Jun 26, 2024
e371fdc
Reduced spewing of noise in integration tests.
Jun 26, 2024
4d3a6cf
Back to old method.
Jun 26, 2024
4b23cda
fix dup2 bug
seanses Jun 26, 2024
c46e962
fix dup2 when old_fd == new_fd
seanses Jun 26, 2024
a8ead81
Updates.
Jun 26, 2024
bb86519
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jun 26, 2024
e7f3fd4
trying to fix bash experience and I/O redirection
seanses Jun 26, 2024
f72bc99
fix fopen mode parsing
seanses Jun 26, 2024
b047ac9
Hoyt testing stuff.
Jun 26, 2024
534d541
Test file.
Jun 26, 2024
50d5dc6
test_stat now works.
Jun 26, 2024
8c14898
Update.
Jun 27, 2024
f1e5f58
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jun 27, 2024
31f2a8a
Added tracing.
Jun 27, 2024
d2b076c
fix c str bugs; stat tests pass on linux
Jun 27, 2024
914ca77
Updates.
Jun 28, 2024
e5b5aea
Checkpoint.
Jun 30, 2024
6e57419
Reverting file to previous.
Jun 30, 2024
a3d073b
Update.
Jun 30, 2024
5502b42
Got more of the scripts working.
Jun 30, 2024
69d1033
Update.
Jun 30, 2024
abc0315
Update.
Jun 30, 2024
65be348
Added in more detailed tests.
Jul 1, 2024
e36a37e
Updates.
Jul 1, 2024
852cc92
Updates.
Jul 1, 2024
f92c9ed
Fixed compile error.
Jul 1, 2024
66a4cb7
Update.
Jul 1, 2024
b81554e
Forgot file>
Jul 1, 2024
fdaa613
Added convenience stuff to script.
Jul 1, 2024
a418bb4
Updated typo.
Jul 1, 2024
06bf0f1
Update.
Jul 1, 2024
bd4be4a
Updated.
Jul 1, 2024
ad865a6
All tests pass.
Jul 2, 2024
e258010
Checkpoint.
Jul 8, 2024
2f98cca
Trying.
Jul 8, 2024
344d693
Got updates working through bash...
Jul 8, 2024
cb6cdd0
Update, things working now.
Jul 8, 2024
e986f31
fix python os.stat
seanses Jul 8, 2024
c5b9f84
Update.
Jul 8, 2024
c914864
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jul 8, 2024
7e16f69
Fixed tests.
Jul 8, 2024
0f23f25
Some updates.
Jul 9, 2024
c21245a
Updated, added in macros.
Jul 9, 2024
326a5e7
Checkpoint.
Jul 9, 2024
119c0f6
Update.
Jul 9, 2024
8c2b7fc
fix runtime status bug; fix tests involving > and >>; all tests pass …
seanses Jul 9, 2024
35768e7
fix mmap: check if allocating virtual memory or mapping non-regular f…
seanses Jul 10, 2024
60eb95c
disable linux specific tests on macos
seanses Jul 10, 2024
3d208fe
Updated interposing access.
Jul 10, 2024
5480022
fix linting issues
seanses Jul 10, 2024
b3402e0
fix more linux linting issues
seanses Jul 10, 2024
0f6e524
fix one more linting
seanses Jul 10, 2024
106e54b
Merge branch 'main' into ld_preload
seanses Jul 10, 2024
f10367e
Merge branch 'main' into ld_preload
seanses Jul 10, 2024
514f64a
Separated out tests.
Jul 10, 2024
34432f1
Updated integration tests.
Jul 10, 2024
e0df1b5
fix repo path discovery test
seanses Jul 10, 2024
b74e447
is_regular_file uses stat64 on linux
seanses Jul 11, 2024
35d3102
github action mac runner likes arm64e
seanses Jul 11, 2024
eeb9252
what stat* does github ubuntu runner have?
seanses Jul 11, 2024
c1392d2
revert 35d310
seanses Jul 11, 2024
6881aac
add ubuntu 22.04
seanses Jul 11, 2024
ae6ed88
revert b74e447 and eeb9252
seanses Jul 11, 2024
8d5c4db
drop ubuntu 20.04
seanses Jul 11, 2024
53c303c
Update on runner.
Jul 11, 2024
20e8a43
Next try.
Jul 11, 2024
c6cd6ce
Next attempt.
Jul 11, 2024
09c9a05
Revert, trying again.
Jul 11, 2024
4af3428
Revert, trying yet again.
Jul 11, 2024
c171206
cleanup
seanses Jul 11, 2024
1bbd6e8
fix linting
seanses Jul 11, 2024
54e70c6
Updated.
Jul 11, 2024
05fa6f8
Merge remote-tracking branch 'origin/ld_preload' into ld_preload
Jul 11, 2024
9ca897f
Added XetLDFS test.
Jul 11, 2024
439de96
Next try.
Jul 11, 2024
4402059
Next try.
Jul 11, 2024
4dab8ce
Fix typo.
Jul 11, 2024
157f360
Text attempt.
Jul 12, 2024
d1f4cf0
Next try.
Jul 12, 2024
7a6b4fd
Trying updated build tools.
Jul 12, 2024
8698e41
Uncommented test.
Jul 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 55 additions & 39 deletions .github/workflows/commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-latest, windows-2019]
os: [ubuntu-22.04, macos-latest, windows-2019]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: taiki-e/install-action@cargo-hack
- uses: arduino/setup-protoc@v2
with:
version: "23.1"
Expand All @@ -30,6 +31,7 @@ jobs:
- name: Env
run: |
env|sort
xcodebuild -version
- name: Build and run tests on windows
if: runner.os == 'Windows'
shell: pwsh
Expand Down Expand Up @@ -90,51 +92,65 @@ jobs:

popd
done


- name: Build
if: runner.os != 'Windows'
shell: bash
- name: Build and Test (Linux)
if: runner.os == 'Linux'
shell: bash -ex {0}
run: |
set +x
export RUST_BACKTRACE=1

cd rust
if [ $RUNNER_OS = 'macOS' ]; then
brew install openssl@3
# Upgrading make is required for cargo to play nicely with building openssl
brew install make
export PATH="/usr/local/opt/make/libexec/gnubin:$PATH"
fi

cargo build --verbose --features "strict openssl_vendored"
- name: Test Environment
if: runner.os != 'Windows'
shell: bash
run: |
set +x
if [ $RUNNER_OS = 'macOS' ]; then
brew install md5sha1sum
fi
cd rust

# we need a basic git configuration for the tests to pass
git config --global user.email operations@xetdata.com
git config --global user.name "XetData Automation"
- name: Test
if: runner.os != 'Windows'
shell: bash

pushd rust
cargo test --verbose --no-fail-fast --features "strict openssl_vendored"
popd

pushd gitxet
cargo test --verbose --no-fail-fast --features "openssl_vendored"
popd

pushd xetldfs
cargo test --verbose --no-fail-fast --features "openssl_vendored"
popd

- name: Setup (macOS)
if: runner.os == 'macOS'
shell: bash -ex {0}
run: |
set +x
export RUST_BACKTRACE=1
brew install openssl@3

# Upgrading make is required for cargo to play nicely with building openssl
brew install make
export PATH="/usr/local/opt/make/libexec/gnubin:$PATH"

# Use our own shell to avoid arm64 vs arm64e issues
brew install bash

cd rust
cargo test --no-fail-fast --features "strict openssl_vendored"
- name: Integration tests
if: runner.os != 'Windows'
shell: bash
brew install md5sha1sum

- name: Build and Test (macOS)
if: runner.os == 'macOS'
shell: /opt/homebrew/bin/bash -ex {0}
run: |
set +x
export RUST_BACKTRACE=1
export PATH="/opt/homebrew/bin/:/usr/local/opt/make/libexec/gnubin:$PATH"

# we need a basic git configuration for the tests to pass
git config --global user.email operations@xetdata.com
git config --global user.name "XetData Automation"

pushd rust
cargo test --verbose --no-fail-fast --features "strict openssl_vendored"
popd

pushd gitxet
cargo test --verbose --no-fail-fast --features "openssl_vendored"
popd

cd gitxet
cargo test --no-fail-fast --features "openssl_vendored"
# This is dumb.
pushd xetldfs
cargo test --verbose --no-fail-fast --features "openssl_vendored" --target=x86_64-apple-darwin
popd

Loading