Skip to content
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

Fix creation of configdir in prehook #449

Merged
merged 2 commits into from
Sep 1, 2024

Conversation

sarcasticadmin
Copy link

@sarcasticadmin sarcasticadmin commented Apr 15, 2024

Description

Related to: #432

While running go test -v ./... I noticed that the config dir ~/.config/pat was being created in my development
environment. I would not expect running tests to result create extra dirs within $XDG_CONFIG_HOME. This was use to the
init() function within prehooks.

I opted to moved the prehooks dir setup into main.go which aligns with the rest of the config setup so running the test
suite no longer results in an additional dir being created in $XDG_CONFIG_HOME.

Tests

I dont have a good way to ensure that the prehook functionality still works a intended. I can confirm that the
script gets found and executed on my shack PC:

Create the prehook:

mkdir ~/.config/path/prehooks
cat << EOF > ~/.config/pat/prehooks/my-prehook.sh
#!/bin/sh
echo "hello from prehook\r"
EOF
chmod +x ~/.config/pat/prehooks/my-prehook.sh

Attempt to connect to a gateway and call prehook:

# pat connect 'ax25:///WA6BGS-10?prehook=my-prehook.sh'
2024/04/15 18:51:35 Connecting to WA6BGS-10 (ax25+linux)...
2024/04/15 18:51:36 Running prehook...
2024/04/15 18:51:36 Prehook succeeded
2024/04/15 18:51:36 Connected to WA6BGS-10 (AX.25)
WA6BGS-10 - Linux RMS Gateway 2.5.1 Feb 16 2024 (DM12mr)

WA6BGS-10 Linux RMS Gateway 2.5.1, El Cajon, CA

INFO: Host Name cms.winlink.org, Port 8772
Connected
[WL2K-5.0-B2FWIHJM$]
;PQ: 25298039
CMS via WA6BGS-10 >
>FF
Login [963]:
2024/04/15 18:51:44 Exchange failed: Unexpected response: 'Login [963]:'

Im assuming that the Unexpected response was becuase I just echoed a random string. It also seems that
any output is getting gobbled up by the existing connection since I dont see the "hello from prehook" text.

Go tests are all still passing:

$ go test -v ./...
?       github.com/la5nta/pat/cfg       [no test files]
?       github.com/la5nta/pat/internal/buildinfo        [no test files]
?       github.com/la5nta/pat/internal/debug    [no test files]
?       github.com/la5nta/pat/internal/cmsapi   [no test files]
?       github.com/la5nta/pat/internal/directories      [no test files]
?       github.com/la5nta/pat/internal/gpsd     [no test files]
?       github.com/la5nta/pat/internal/osutil   [no test files]
?       github.com/la5nta/pat/internal/prehook  [no test files]
=== RUN   TestReadRigsFromEnv
=== RUN   TestReadRigsFromEnv/simple
=== RUN   TestReadRigsFromEnv/with_VFO
=== RUN   TestReadRigsFromEnv/full
--- PASS: TestReadRigsFromEnv (0.00s)
    --- PASS: TestReadRigsFromEnv/simple (0.00s)
    --- PASS: TestReadRigsFromEnv/with_VFO (0.00s)
    --- PASS: TestReadRigsFromEnv/full (0.00s)
=== RUN   Test_toURL
=== RUN   Test_toURL/ax25_1200
=== RUN   Test_toURL/ax25_9600
=== RUN   Test_toURL/adrop_2000
=== RUN   Test_toURL/adrop_500
=== RUN   Test_toURL/adrop_1000
=== RUN   Test_toURL/adrop_unspec
=== RUN   Test_toURL/pactor
=== RUN   Test_toURL/robust_packet
=== RUN   Test_toURL/vara_hf_500
=== RUN   Test_toURL/vara_hf_unspec
=== RUN   Test_toURL/vara_hf_2750
=== RUN   Test_toURL/vara_fm_narrow
=== RUN   Test_toURL/vara_fm_wide
--- PASS: Test_toURL (0.00s)
    --- PASS: Test_toURL/ax25_1200 (0.00s)
    --- PASS: Test_toURL/ax25_9600 (0.00s)
    --- PASS: Test_toURL/adrop_2000 (0.00s)
    --- PASS: Test_toURL/adrop_500 (0.00s)
    --- PASS: Test_toURL/adrop_1000 (0.00s)
    --- PASS: Test_toURL/adrop_unspec (0.00s)
    --- PASS: Test_toURL/pactor (0.00s)
    --- PASS: Test_toURL/robust_packet (0.00s)
    --- PASS: Test_toURL/vara_hf_500 (0.00s)
    --- PASS: Test_toURL/vara_hf_unspec (0.00s)
    --- PASS: Test_toURL/vara_hf_2750 (0.00s)
    --- PASS: Test_toURL/vara_fm_narrow (0.00s)
    --- PASS: Test_toURL/vara_fm_wide (0.00s)
PASS
ok      github.com/la5nta/pat   0.004s
=== RUN   TestInsertionTagReplacer
=== RUN   TestInsertionTagReplacer/<Callsign>
=== RUN   TestInsertionTagReplacer/<Date>
=== RUN   TestInsertionTagReplacer/<UDate>
=== RUN   TestInsertionTagReplacer/<Time>
=== RUN   TestInsertionTagReplacer/<UTime>
=== RUN   TestInsertionTagReplacer/<GPS_DECIMAL>
=== RUN   TestInsertionTagReplacer/<GPSLatitude>
=== RUN   TestInsertionTagReplacer/<GPSLongitude>
=== RUN   TestInsertionTagReplacer/<Latitude>
=== RUN   TestInsertionTagReplacer/<ProgramVersion>
=== RUN   TestInsertionTagReplacer/<MsgSender>
=== RUN   TestInsertionTagReplacer/<DateTime>
=== RUN   TestInsertionTagReplacer/<UDateTime>
=== RUN   TestInsertionTagReplacer/<GPS>
=== RUN   TestInsertionTagReplacer/<GPS_SIGNED_DECIMAL>
=== RUN   TestInsertionTagReplacer/<UDTG>
=== RUN   TestInsertionTagReplacer/<Day>
=== RUN   TestInsertionTagReplacer/<UDay>
=== RUN   TestInsertionTagReplacer/<GridSquare>
=== RUN   TestInsertionTagReplacer/<Longitude>
=== RUN   TestInsertionTagReplacer/<GPSValid>
--- PASS: TestInsertionTagReplacer (0.00s)
    --- PASS: TestInsertionTagReplacer/<Callsign> (0.00s)
    --- PASS: TestInsertionTagReplacer/<Date> (0.00s)
    --- PASS: TestInsertionTagReplacer/<UDate> (0.00s)
    --- PASS: TestInsertionTagReplacer/<Time> (0.00s)
    --- PASS: TestInsertionTagReplacer/<UTime> (0.00s)
    --- PASS: TestInsertionTagReplacer/<GPS_DECIMAL> (0.00s)
    --- PASS: TestInsertionTagReplacer/<GPSLatitude> (0.00s)
    --- PASS: TestInsertionTagReplacer/<GPSLongitude> (0.00s)
    --- PASS: TestInsertionTagReplacer/<Latitude> (0.00s)
    --- PASS: TestInsertionTagReplacer/<ProgramVersion> (0.00s)
    --- PASS: TestInsertionTagReplacer/<MsgSender> (0.00s)
    --- PASS: TestInsertionTagReplacer/<DateTime> (0.00s)
    --- PASS: TestInsertionTagReplacer/<UDateTime> (0.00s)
    --- PASS: TestInsertionTagReplacer/<GPS> (0.00s)
    --- PASS: TestInsertionTagReplacer/<GPS_SIGNED_DECIMAL> (0.00s)
    --- PASS: TestInsertionTagReplacer/<UDTG> (0.00s)
    --- PASS: TestInsertionTagReplacer/<Day> (0.00s)
    --- PASS: TestInsertionTagReplacer/<UDay> (0.00s)
    --- PASS: TestInsertionTagReplacer/<GridSquare> (0.00s)
    --- PASS: TestInsertionTagReplacer/<Longitude> (0.00s)
    --- PASS: TestInsertionTagReplacer/<GPSValid> (0.00s)
=== RUN   TestBuildXML
--- PASS: TestBuildXML (0.00s)
=== RUN   TestDateFormat
--- PASS: TestDateFormat (0.00s)
=== RUN   TestPlaceholderReplacer
=== RUN   TestPlaceholderReplacer/0
=== RUN   TestPlaceholderReplacer/1
=== RUN   TestPlaceholderReplacer/2
=== RUN   TestPlaceholderReplacer/3
--- PASS: TestPlaceholderReplacer (0.00s)
    --- PASS: TestPlaceholderReplacer/0 (0.00s)
    --- PASS: TestPlaceholderReplacer/1 (0.00s)
    --- PASS: TestPlaceholderReplacer/2 (0.00s)
    --- PASS: TestPlaceholderReplacer/3 (0.00s)
=== RUN   TestReplaceSelect
=== RUN   TestReplaceSelect/0
=== RUN   TestReplaceSelect/1
=== RUN   TestReplaceSelect/2
--- PASS: TestReplaceSelect (0.00s)
    --- PASS: TestReplaceSelect/0 (0.00s)
    --- PASS: TestReplaceSelect/1 (0.00s)
    --- PASS: TestReplaceSelect/2 (0.00s)
PASS
ok      github.com/la5nta/pat/internal/forms    0.006s

Move prehook dir settings to main to ensure that running the tests
does not result in the configdir being created.
@martinhpedersen martinhpedersen self-requested a review May 2, 2024 04:43
@martinhpedersen martinhpedersen added this to the v0.16.1 milestone May 2, 2024
Copy link
Member

@martinhpedersen martinhpedersen left a comment

Choose a reason for hiding this comment

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

Thanks you for this. It's perfect 😊

@martinhpedersen
Copy link
Member

Do you mind adding yourself to the contributors list in readme.md? Not a requirement from my side, but it's always nice to give some credit to those that have contributed to the project 😊

@sarcasticadmin
Copy link
Author

just pushed up a commit to include me, thank you!

@martinhpedersen martinhpedersen merged commit d818009 into la5nta:develop Sep 1, 2024
sarcasticadmin added a commit to sarcasticadmin/nixpkgs that referenced this pull request Oct 26, 2024
Include patch that was merged upstream until next release:
  la5nta/pat#449
jmartindf pushed a commit to jmartindf/nixpkgs that referenced this pull request Nov 1, 2024
Include patch that was merged upstream until next release:
  la5nta/pat#449
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants