') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); [Test] Add neg test for splice_channel with insufficient inputs by optout21 · Pull Request #3674 · lightningdevkit/rust-lightning · GitHub
Skip to content

[Test] Add neg test for splice_channel with insufficient inputs - #3674

Merged
wpaulino merged 1 commit into
lightningdevkit:mainfrom
optout21:splice-init-neg-test
Mar 24, 2025
Merged

[Test] Add neg test for splice_channel with insufficient inputs#3674
wpaulino merged 1 commit into
lightningdevkit:mainfrom
optout21:splice-init-neg-test

Conversation

@optout21

@optout21optout21 commented Mar 18, 2025

Copy link
Copy Markdown
Contributor

In the splice_channel() API the user has to provide the intended splice-in contribution, as well as the inputs that are used to cover that. In case the inputs are not enough (to cover the intended contribution plus proportional fees), an error is returned.
This small PR adds a test for that.

@ldk-reviews-bot

ldk-reviews-bot commented Mar 18, 2025

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@optout21
optout21 requested review from jkczyz and wpaulinoMarch 18, 2025 09:44
Comment threadlightning/src/ln/splicing_tests.rs Outdated
Comment threadlightning/src/ln/splicing_tests.rs Outdated
Comment threadlightning/src/ln/splicing_tests.rs Outdated
Comment threadlightning/src/ln/splicing_tests.rs Outdated
@optout21
optout21force-pushed the splice-init-neg-test branch from e44e0fb to 09520b4CompareMarch 19, 2025 01:32
@optout21

Copy link
Copy Markdown
ContributorAuthor

Addressed review comments (jkczyz)

@optout21
optout21 requested a review from jkczyzMarch 19, 2025 01:35
jkczyz
jkczyz previously approved these changes Mar 19, 2025
@ldk-reviews-bot

Copy link
Copy Markdown

🔔 1st Reminder

Hey @wpaulino! This PR has been waiting for your review.
Please take a look when you have a chance. If you're unable to review, please let us know so we can find another reviewer.

@ldk-reviews-bot

Copy link
Copy Markdown

🔔 2nd Reminder

Hey @wpaulino! This PR has been waiting for your review.
Please take a look when you have a chance. If you're unable to review, please let us know so we can find another reviewer.

@ldk-reviews-bot

Copy link
Copy Markdown

🔔 3rd Reminder

Hey @wpaulino! This PR has been waiting for your review.
Please take a look when you have a chance. If you're unable to review, please let us know so we can find another reviewer.

@shaavanshaavan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks great to me! Just a few minor nits—let me know if they make sense. 🚀

Comment threadlightning/src/ln/splicing_tests.rs Outdated
Comment threadlightning/src/ln/splicing_tests.rs Outdated
Comment threadlightning/src/ln/splicing_tests.rs Outdated
@optout21

optout21 commented Mar 24, 2025

Copy link
Copy Markdown
ContributorAuthor

Incorporated minor suggestions from @shaavan . thx. Squashed into one commit, as changes were minimal.

@codecov

codecovBot commented Mar 24, 2025

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.20%. Comparing base (d671596) to head (a0fa32e).
Report is 8 commits behind head on main.

Additional details and impacted files
@@ Coverage Diff @@## main #3674 +/- ##
==========================================
- Coverage 89.26% 89.20% -0.06% 
==========================================
Files 155 155 Lines 119911 119954 +43 Branches 119911 119954 +43 ==========================================
- Hits 107038 107007 -31 - Misses 10262 10327 +65 - Partials 2611 2620 +9 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for freeto 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.

5 participants

@optout21@ldk-reviews-bot@jkczyz@wpaulino@shaavan